﻿
// 定义所有规则常量
var RULE_TYPE_RETURN = "11";				// 退货
var RULE_TYPE_DISCOUN = "12";				// 折扣
var RULE_TYPE_REBATE = "13";				// 返利
var RULE_TYPE_SPLIT = "14";					// 拆分
var RULE_TYPE_MERGE = "15";					// 发票分组
var RULE_TYPE_WITHDETAILS = "16";			// 合并明细

var RULE_TYPE_REPLACE_GOOD = "21";			// 替换商品名
var RULE_TYPE_REPLACE_CUSTOMER = "22";		// 替换客户名
var RULE_TYPE_REPLACE_UNIT = "23";			// 替换单位
var RULE_TYPE_REPLACE_TYPE = "24";			// 替换规格

var RULE_TYPE_ABSTRACT = "31";				// 自定义摘要
var RULE_TYPE_REMARK = "32";				// 自定义备注
var RULE_TYPE_DOCUMENT_CONSERVATION = "33";	// 单据状态
		
Ext.define('HIT.controller.RuleListController', {

	extend : 'Ext.app.Controller', 
	models : [ 'RuleList' ], 
	stores : [ 'RuleListStore' ], 
	views : [ 'SetRuleListGrid', 'SetRuleAddWin', 'SetRuleSplitWin', 'SetRuleRebateWin', 
	          'SetRuleDiscounWin', 'SetRuleReturnWin', 'SetRuleInvoiceGroupWin', 'SetRuleAbstractWin',                         	  
	          'SetRuleRemarkWin', 'SetRuleReplaceCustomerWin', 'SetRuleReplaceGoodWin', 							  
	          'SetRuleReplaceTypeWin', 'SetRuleReplaceUnitWin', 'SetRuleDocStatusWin', 'SetRuleWithDetailsWin'], 
	onButtonClick : function(button, e, options) {
		// 定义窗口
		var t;
		
		// ■ 规则一览页面：修改按钮
		if (button.id == 'set-rule-edit') {	
			var tabpanelId = 'tab-set-rule';          
            var tab = Ext.getCmp(tabpanelId);
            if (tab == undefined) {
                return;
            }
            if (tab.getSelectionModel().getCount() == 0) {
            	Share.ShowMessage("I0008");
                return;
            }
            if (tab.getSelectionModel().getCount() > 1) {
            	Share.ShowMessage("E0039","记录");
                return;
            }
            var row = tab.getSelectionModel().getSelection()[0];
            // 根据选择的规则类型跳转到修改页面
            editRule(row);
		}
		
		// ■ 规则一览页面：删除按钮
		if (button.id == 'set-rule-delete') {
			if (getLockStatus()) {
				Share.ShowMessage('I0068');
				return;
			}
			var tabpanelId = 'tab-set-rule';          
            var tab = Ext.getCmp(tabpanelId);
            if (tab == undefined) {
                return;
            }
            if (tab.getSelectionModel().getCount() == 0) {
            	Share.ShowMessage("I0008");
                return;
            }
            // 获取选择的记录，拼接字符串
            var row = tab.getSelectionModel().getSelection();
            var id = [];
            for (var i = 0; i < row.length; i++) {
	        	id.push(row[i].get('rule_id'));
	        }
            
            // 处理一览页面已选择，需要删除的规则ID
            var ruleTypeString = '';
            for (var ri_d = 0;ri_d < row.length;ri_d++) {
            	ruleTypeString += row[ri_d].get('type') + "," ;
            }
            
            // 开始删除处理
            Ext.MessageBox.confirm(Share.T('提示'), Share.T('确定删除吗？'), function(btn) {
            	if (btn == 'yes') {
           		 Share.AjaxRequest({
                        url: ctx + "/deleteRuleList1", 
                        params: {
                            id: id.join(","), 
                            rule_type:ruleTypeString
                        }, 
                        showMsg: false, 
                        scope: this, 
                        callback: function (json) {
                            tab.getStore().reload();
                          //修改删除数据刷新数量
							var toolbar = Ext.getCmp('rulelisttoolbar');
                            var fromRecord = toolbar.getPageData().fromRecord;
                            var toRecord = toolbar.getPageData().toRecord;
                            if((toRecord-fromRecord+1)==row.length){
                            	toolbar.movePrevious();
                            }
                            Share.ShowMessage("I0006","删除"); 
                        }, 
                        falseFun: function (json) {
                        	 Ext.MessageBox.alert(json.msg);	
                        }
                    }); 
            	}
            });
		}
		
		// ■ 规则一览页面：查询按钮
		if (button.id == 'set-rule-query') {
			var tabpanelId = 'tab-set-rule';          
            var tab = Ext.getCmp(tabpanelId);
            if (tab == undefined) {
                return;
            }
            // 获取查询条件
	    	var cust_code = Ext.getCmp('cust_code').getRawValue();// 客户Code
	    	var cust_name_chn = Ext.getCmp('cust_name_chn').getRawValue();// 客户名称
	    	var creator = Ext.getCmp('creator').getValue();// 创建人
	    	var type = Ext.getCmp('type').getValue();// 规则类型
	    	// 根据查询条件获取一览数据
	    	var RuleListStore = tab.getStore();
	    		RuleListStore.load({
	    			params: {
    						cust_code:cust_code, 
    						cust_name_chn:cust_name_chn, 
    						creator:creator, 
    						type:type
	    					}, 
	    			callback: function(records, options, success) {
	    				if (!records[0] || !records) {
	    					Share.ShowMessage("I0051");
	    				}
	    			}, 
	    		    scope: RuleListStore, 
	    		    add: true
	    		});
		}
		
		// ■ 规则一览页面：添加按钮
		if (button.id == 'set-rule-add') {
			t = Ext.create('widget.rulesAdd');
			Share.showWindow(t, true);
		}
		
		// ■ 新增页面：退货按钮
		if (button.id == 'ruleTypeReturnBtn') {
			t = Ext.create('widget.returnWin');
			Share.showWindow(t, true);
			Ext.getCmp('return_copy').disable();
			Ext.getCmp('return_delete').disable();
		}
		
		// ■ 新增页面：返利按钮
		if (button.id == 'ruleTypeRebateBtn') {
			t = Ext.create('widget.rebateWin');
			Share.showWindow(t, true);
			// 控制按钮初期可用
			Ext.getCmp('rebate_copy').disable();// 复制按钮
			Ext.getCmp('rebate_delete').disable();// 删除按钮
			Ext.getCmp('rebate_rebateReset').disable();// 重置按钮
			
			// 设置单价的默认值为06
			Ext.getCmp('rebate_conversion_combo02').setValue('06');
		}

		// ■ 新增页面：折扣按钮
		if (button.id == 'ruleTypeDiscounBtn') {
			t = Ext.create('widget.discounWin');
			Share.showWindow(t, true);
			Ext.getCmp('discoun_copy').disable();
			Ext.getCmp('discoun_delete').disable();
		}
		
		// ■ 新增页面：拆分按钮
		if (button.id == 'ruleTypeSplitBtn') {
			t = Ext.create('widget.splitWin');
			Share.showWindow(t, true);
			Ext.getCmp('split_copy').disable();
			Ext.getCmp('split_delete').disable();
		}
		
		// ■ 新增页面：发票分组按钮
		if (button.id == 'ruleTypeMergeBtn') {
			t = Ext.create('widget.mergeWin');
			Share.showWindow(t, true);
			Ext.getCmp('merge_copy').disable();
			Ext.getCmp('merge_delete').disable();
		}
		
		// ■ 新增页面：合并明细按钮
		if (button.id == 'ruleTypeWithdetailsBtn') {
			t = Ext.create('widget.withdetailsWin');
			Share.showWindow(t, true);
			Ext.getCmp('withdetails_copy').disable();
			Ext.getCmp('withdetails_delete').disable();
		}
		
		// ■ 新增页面：替换商品名按钮
		if (button.id == 'ruleTypeReplaceGoodBtn') {
			t = Ext.create('widget.replaceGoodWin');
			Share.showWindow(t, true);
			Ext.getCmp('replace_goods_copy').disable();
			Ext.getCmp('replace_goods_delete').disable();
		}

		// ■ 新增页面：替换客户名按钮
		if (button.id == 'ruleTypeReplaceCustomerBtn') {
			t = Ext.create('widget.replaceCustomerWin');
			Share.showWindow(t, true);
			Ext.getCmp('replace_customer_copy').disable();
			Ext.getCmp('replace_customer_delete').disable();
		}
		
		// ■ 新增页面：替换单位按钮
		if (button.id == 'ruleTypeReplaceUnitBtn') {
			t = Ext.create('widget.replaceUnitWin');
			Share.showWindow(t, true);
			Ext.getCmp('replace_unit_copy').disable();
			Ext.getCmp('replace_unit_delete').disable();
		}
		
		// ■ 新增页面：替换规格按钮
		if (button.id == 'ruleTypeReplaceTypeBtn') {
			t = Ext.create('widget.replaceTypeWin');
			Share.showWindow(t, true);
			Ext.getCmp('replace_type_copy').disable();
			Ext.getCmp('replace_type_delete').disable();
		}
		
		// ■ 新增页面：自定义摘要按钮
		if (button.id == 'ruleTypeAbstractBtn') {
			t = Ext.create('widget.abstractWin');
			Share.showWindow(t, true);						
			Ext.getCmp('copyAbstract').disable();
			Ext.getCmp('deleteAbstract').disable();
		}
		
		// ■ 新增页面：自定义备注按钮
		if (button.id == 'ruleTypeRemarkBtn') {
			t = Ext.create('widget.remarkWin');
			Share.showWindow(t, true);
			Ext.getCmp('copyRemark').disable();
			Ext.getCmp('deleteRemark').disable();
		}
		
		// ■ 新增页面：单据状态按钮
		if (button.id == 'ruleTypeDocumentConservationBtn') {
			t = Ext.create('widget.documentConservationWin');
			Share.showWindow(t, true);
			Ext.getCmp('copyDocumentKeep').disable();
			Ext.getCmp('deleteDocumentKeep').disable();
		}
		
		// ■ 发票分组页面：保存按钮
		if (button.id =='merge_save') {
			
			if (getLockStatus()) {
				Share.ShowMessage('I0068');
				return;
			}
			
			// 验证页面是否有错误项
	    	if (!Ext.getCmp('merge_form').getForm().isValid()) {
				return;
			}
			
			// 获取页面规则主信息区域所有项目值---------------
			var merge_rule_id = Ext.getCmp("merge_rule_id").getValue() == null ? "" : Ext.getCmp("merge_rule_id").getValue();// 规则ID
			var merge_scopeFlag = Ext.getCmp("merge_scopeFlag").getValue() == null ? "" : Ext.getCmp("merge_scopeFlag").getValue();// 规则有效范围
			var merge_cust_code = Ext.getCmp("merge_cust_code").getRawValue() == null? "" : Ext.getCmp("merge_cust_code").getRawValue();// 客户Code
			var merge_remark = Ext.getCmp("merge_remark").getValue() == null ? "" : Ext.getCmp("merge_remark").getValue();// 备注
			// 不是全部客户有效时，进行客户存在性检查
			if (merge_scopeFlag != '1') {			
				if (!checkCustCode(merge_cust_code)) {
					Share.ShowMessage("I0014","客户代码和客户名称");
					Ext.getCmp('merge_cust_code').setValue('');
					Ext.getCmp('merge_cust_name').setValue('');
					return;	
				}
			}
			
			// 获取页面条件区域所有项目值---------------
			var merge_condition = Ext.getCmp("merge_condition");
			var panelItems = merge_condition.items;
			// 遍历得到下拉框的值
			var merge_combo = '';
			var containsFlag = false;
			for (var i = 0; i < panelItems.length-1; i++) {
				var combo = panelItems.items[i].items.items[0];// 获得combo
				var merge_combo_tmp = combo.getValue(); // 获得每一个combo的值
				if (merge_combo_tmp != null && merge_combo_tmp != '') {
					merge_combo = merge_combo + merge_combo_tmp + '~~'; // 拼成返回数据
					// 判断条件是否重复 
					if (isContains(merge_combo, merge_combo_tmp)) {
						Ext.getCmp(combo.getId()).markInvalid(Share.T(Share.T('该项目重复指定，请确认。')));
						containsFlag = true;
					}
				}
			}
			// 如果页面上条件有重复指定，报错
			if (containsFlag) {
				return;
			}
			// 判断规则条件是否有包含关系
			if (!checkRuleIsRepeat(merge_rule_id, merge_scopeFlag, merge_cust_code, RULE_TYPE_MERGE, merge_combo)) {
				Share.ShowMessage("I0063","发票分组");	
				return;				
			}
			
			var merge_amount = '';
			var merge_price = '';
			var type = Ext.getCmp("merge_conversion_combo01").getValue();
			// 获取页面后处理区域所有项目值---------------
			if ( type == '00') {
				merge_amount = 'D_QUANTITY&00';
				merge_price = 'D_PRICE_CUR&06';
			} else if (type == '06') {
				merge_amount = 'D_QUANTITY&06';
				merge_price = 'D_PRICE_CUR&00';
			} else {
				// 获取页面后处理区域所有项目值---------------
				merge_amount = "D_QUANTITY" + '&' +
					Ext.getCmp("merge_conversion_combo01").getValue() + '&' + 
					Ext.getCmp("merge_conversion_text01").getValue();// 数量
				merge_price = "D_PRICE_CUR" + '&' + 
					Ext.getCmp("merge_conversion_combo02").getValue() + '&' + 
					Ext.getCmp("merge_conversion_text02").getValue();// 单价
			}
			
			var merge_tradeName = "D_GOODS_NAME" + '&' + 
				Ext.getCmp("merge_conversion_combo03").getValue() + '&' + 
				Ext.getCmp("merge_conversion_text03").getValue();// 商品名
			var merge_specification = "D_SPEC" + '&' + 
				Ext.getCmp("merge_conversion_combo04").getValue() + '&' + 
				Ext.getCmp("merge_conversion_text04").getValue();// 规格
			var merge_unit = "D_GOODS_UNIT" + '&' + 
				Ext.getCmp("merge_conversion_combo05").getValue() + '&' + 
				Ext.getCmp("merge_conversion_text05").getValue();// 单位
			var merge_remarks = "H_REMARK" + '&' + 
				Ext.getCmp("merge_conversion_combo06").getValue() + '&' +
				Ext.getCmp("merge_conversion_text06").getValue();// 备注
			var merge_summary = "D_REMARK" + '&' + 
				Ext.getCmp("merge_conversion_combo07").getValue() + '&' + 
				Ext.getCmp("merge_conversion_text07").getValue();// 摘要
			
			// ---------------验证通过。开始新增或修改操作---------------
			Share.AjaxRequest({  
	            url: ctx + "/saveRules", 
	            params: {
	            	ruleBigType : 1,
	            	ruleId : merge_rule_id, // 规则ID
	            	ruleType : RULE_TYPE_MERGE, // 规则类型
	            	scopeFlag : merge_scopeFlag, // 有效范围
	            	custCode : merge_cust_code, // 客户Code
	            	m_remark : merge_remark, // 备注
	            	condition : merge_combo, // 条件字符串
	            	amount : merge_amount, // 数量后处理
	            	price : merge_price, // 单价后处理
	            	tradeName : merge_tradeName, // 商品名后处理
	            	specification : merge_specification, // 规格后处理
	            	unit : merge_unit, // 单位后处理
	            	remark : merge_remarks, // 备注后处理
	            	summary : merge_summary // 摘要后处理
	            }, 
	            showMsg : false, 
	            callback : function(json) {
	   	    	   if (json.resultcode == '0') {  
	   	    		   Share.ShowMessage("I0006","保存");
	   	    	   } else {
	   	    		   Share.ShowMessage("I0007","保存");
	   	    	   }
	   	    	   // 刷新页面
	   	    	   Ext.getCmp('tab-set-rule').getStore().reload();
	          	   Ext.getCmp('tab-set-rule').getStore().removeAll();      	   
				}	
            });
            // 关闭当前页面
			Ext.getCmp("MergeWin").close();
			// 关闭新增窗口页面
			if (Ext.getCmp('RulesAdd') != null) {
				Ext.getCmp('RulesAdd').close();
			}
		}
		
		// ■ 发票分组页面：删除按钮
	    if (button.id == 'merge_delete') {
	    	if (getLockStatus()) {
				Share.ShowMessage('I0068');
				return;
			}
	    	var ruleId = 'merge_rule_id';
			var name = 'MergeWin'; 
    		deleteRules(ruleId, name, RULE_TYPE_MERGE);
        }
        
		// ■ 发票分组页面：取消按钮
		if (button.id =='merge_close') {	
			Ext.getCmp("MergeWin").close();
		}
        
	    // ■ 合并明细页面：保存按钮
	    if (button.id =='withdetails_save') {
	    	if (getLockStatus()) {
				Share.ShowMessage('I0068');
				return;
			}
	    	// 验证页面是否有错误项
	    	if (!Ext.getCmp('withdetails_form').getForm().isValid()) {
				return;
			}
	    	// 获取页面规则主信息区域所有项目值---------------
			var withdetails_rule_id = Ext.getCmp("withdetails_rule_id").getValue() == null ? "" : Ext.getCmp("withdetails_rule_id").getValue();
			var withdetails_scopeFlag = Ext.getCmp("withdetails_scopeFlag").getValue() == null ? "" : Ext.getCmp("withdetails_scopeFlag").getValue();
			var withdetails_cust_code = Ext.getCmp("withdetails_cust_code").getRawValue() == null ? "" : Ext.getCmp("withdetails_cust_code").getRawValue(); 
			var withdetails_remark = Ext.getCmp("withdetails_remark").getValue() == null ? "" : Ext.getCmp("withdetails_remark").getValue(); 
			// 不是全部客户有效时，进行客户存在性检查
			if (withdetails_scopeFlag != '1') {			
				if (!checkCustCode(withdetails_cust_code)) {
					Share.ShowMessage("I0014","客户代码和客户名称");
					Ext.getCmp('withdetails_cust_code').setValue('');
					Ext.getCmp('withdetails_cust_name').setValue('');
					return;	
				}
			}

			// 获取页面条件区域所有项目值---------------
			var withdetails_condition = Ext.getCmp("withdetails_condition");
			var panelItems = withdetails_condition.items;
			// 遍历得到下拉框的值
			var withdetails_combo = '';
			var containsFlag = false;
			for (var i = 0; i < panelItems.length-1; i++) {
				var combo = panelItems.items[i].items.items[0];// 获得combo
				var withdetails_combo_tmp = combo.getValue(); // 获得每一个combo的值
				if (withdetails_combo_tmp != null && withdetails_combo_tmp != '') {
					withdetails_combo = withdetails_combo + withdetails_combo_tmp + '~~';// 拼成返回数据
					// 判断条件是否重复 
					if (isContains(withdetails_combo, withdetails_combo_tmp)) {
						Ext.getCmp('withdetails_combo' + (i+1)).markInvalid(Share.T('该项目重复指定，请确认。'));
						containsFlag = true;
					}
				}
			}
			// 如果页面上条件有重复指定，报错
			if (containsFlag) {
				return;
			}
			// 判断规则条件是否有包含关系
			if (!checkRuleIsRepeat(withdetails_rule_id, withdetails_scopeFlag, withdetails_cust_code, RULE_TYPE_WITHDETAILS, withdetails_combo)) {
				Share.ShowMessage("I0063","合并明细");
				return;
			}
			
			// 获取页面后处理区域所有项目值---------------
			var withdetails_amount = "D_QUANTITY" + '&' + 
				Ext.getCmp("withdetails_conversion_combo01").getValue() + '&' + 
				Ext.getCmp("withdetails_conversion_text01").getValue();	// 数量	
			var withdetails_price = "D_PRICE_CUR" + '&' +
				Ext.getCmp("withdetails_conversion_combo02").getValue() + '&' +
				Ext.getCmp("withdetails_conversion_text02").getValue(); // 单价
			var withdetails_tradeName = "D_GOODS_NAME" + '&' +
				Ext.getCmp("withdetails_conversion_combo03").getValue() + '&' +
				Ext.getCmp("withdetails_conversion_text03").getValue(); // 商品名
			var withdetails_specification = "D_SPEC" + '&' + 
				Ext.getCmp("withdetails_conversion_combo04").getValue() + '&' +
				Ext.getCmp("withdetails_conversion_text04").getValue(); // 规格
			var withdetails_unit = "D_GOODS_UNIT" + '&' + 
				Ext.getCmp("withdetails_conversion_combo05").getValue() + '&' +
				Ext.getCmp("withdetails_conversion_text05").getValue(); // 单位
			var withdetails_remarks = "H_REMARK" + '&' +
				Ext.getCmp("withdetails_conversion_combo06").getValue() + '&' +
				Ext.getCmp("withdetails_conversion_text06").getValue(); // 备注
			var withdetails_summary = "D_REMARK"+'&' +
				Ext.getCmp("withdetails_conversion_combo07").getValue() + '&' +
				Ext.getCmp("withdetails_conversion_text07").getValue(); // 摘要
			
			// ---------------验证通过。开始新增或修改操作---------------
			Share.AjaxRequest({
            url: ctx + "/saveRules", 
	            params: {
	            	ruleBigType : 1,
	            	ruleId : withdetails_rule_id, // 规则ID
	            	ruleType : RULE_TYPE_WITHDETAILS, // 规则类型
	            	scopeFlag : withdetails_scopeFlag, // 有效范围
	            	custCode : withdetails_cust_code, // 客户Code
	            	m_remark : withdetails_remark, // 备注
	            	condition : withdetails_combo, // 条件字符串
	            	amount : withdetails_amount, // 数量后处理
	            	price : withdetails_price, // 单价后处理
	            	tradeName : withdetails_tradeName, // 商品名后处理
	            	specification : withdetails_specification, // 规格后处理
	            	unit : withdetails_unit, // 单位后处理
	            	remark : withdetails_remarks, // 备注后处理
	            	summary : withdetails_summary // 摘要后处理
	            }, 
	            showMsg: false, 
	            callback : function(json) {
	  	    	   if (json.resultcode == '0') {       	    		   
	  	    		  Share.ShowMessage("I0006","保存");
	  	    	   } else {
	  	    		  Share.ShowMessage("I0007","保存");
	  	    	   }
	  	    	   // 刷新页面
	  	    	   Ext.getCmp('tab-set-rule').getStore().reload();
	         	   Ext.getCmp('tab-set-rule').getStore().removeAll();      	   
	            }	
        	});

        	// 关闭当前页面
			Ext.getCmp("WithDetailsWin").close();
			// 关闭新增窗口页面
			if (Ext.getCmp('RulesAdd') != null) {
				Ext.getCmp('RulesAdd').close();
			}
		}

		// ■ 合并明细:取消按钮	
		if (button.id == 'withdetails_close') {
			Ext.getCmp("WithDetailsWin").close();
       	}

       	// ■ 合并明细:删除按钮
		if (button.id == 'withdetails_delete') {
			if (getLockStatus()) {
				Share.ShowMessage('I0068');
				return;
			}
    		var ruleId = 'withdetails_rule_id';
			var name = 'WithDetailsWin';
			// 调用共通删除方法，删除当前规则
			deleteRules(ruleId, name, RULE_TYPE_WITHDETAILS);
		}

    	// ■ 拆分页面：保存按钮
	    if (button.id == "split_save") {
	    	if (getLockStatus()) {
				Share.ShowMessage('I0068');
				return;
			}
	    	// 验证页面是否有错误项
	    	if (!Ext.getCmp('split_form').getForm().isValid()) {
				return;
			}
			
			// 获取页面规则主信息区域所有项目值---------------
			var split_rule_id = Ext.getCmp("split_rule_id").getValue() == null ? "" : Ext.getCmp("split_rule_id").getValue();// 规则ID
			var split_scopeFlag = Ext.getCmp("split_scopeFlag").getValue()== null ? "" : Ext.getCmp("split_scopeFlag").getValue();// 有效范围
			var split_cust_code = Ext.getCmp("split_cust_code").getRawValue() ==null? "" : Ext.getCmp("split_cust_code").getRawValue();// 客户Code
			var split_remark = Ext.getCmp("split_remark").getValue() == null ? "" : Ext.getCmp("split_remark").getValue();// 备注
			
			// 不是全部客户有效时，进行客户存在性检查
			if (split_scopeFlag != '1') {
				if (!checkCustCode(split_cust_code)) {
					Share.ShowMessage("I0014","客户代码和客户名称");
					Ext.getCmp('split_cust_code').setValue('');
					Ext.getCmp('split_cust_name').setValue('');
					return;	
				}
			}
			
			// 获取页面条件区域所有项目值---------------
			var condition = Ext.getCmp("condition");
			var panelItems = condition.items;
			var conditionString = '';
			var split_combo = '';
			var errorFlag = false;
			var containsFlag = false;
			
			// 遍历得到下拉框的值
			for (var i = 0; i < panelItems.length-1; i++) {
				// 取得第i个panel的第一个combo值
				var combo = panelItems.items[i].items.items[0];// 获得combo										
				var split_combo_tmp = combo.getValue();			
				// 取得第i个panel的第二个combo值
				var combo1 = panelItems.items[i].items.items[1];
				var split_combo1 = combo1.getValue();
				// 取得第i个panel的条件值
				var condition_value = panelItems.items[i].items.items[2].getValue();
				
				// 检查是否有必须项目为空
				if ((split_combo_tmp == null || split_combo_tmp == '') 
					&& ((split_combo1 != null && split_combo1 != '') 
						|| (condition_value != null && condition_value != '')
						)
					){
					Ext.getCmp(combo.getId()).markInvalid(Share.T('条件项目不能为空。'));
					errorFlag = true;
				}
				if ((split_combo1 == null || split_combo1 == '') 
					&& ((split_combo_tmp != null && split_combo_tmp != '') 
						|| (condition_value != null && condition_value != '')
						)
					){
					Ext.getCmp(combo1.getId()).markInvalid(Share.T('条件符号不能为空。'));
					errorFlag = true;
				}
				if ((condition_value == null || condition_value == '') 
					&& ((split_combo1 != null && split_combo1 != '') 
						|| (split_combo_tmp != null && split_combo_tmp != '')
						)
					){
					Ext.getCmp(panelItems.items[i].items.items[2].getId()).markInvalid(Share.T('条件值不能为空。'));
					errorFlag = true;
				}
				// 拼接条件字符串
				if (split_combo_tmp != null && split_combo_tmp != '' && split_combo1 != null && split_combo1 != ''  && condition_value != null && condition_value != '') {
				    conditionString = conditionString + split_combo_tmp + '&'+ split_combo1 +'&' + condition_value + '~~';
				    split_combo += '~~' + split_combo_tmp;
					// 判断条件是否重复 
				    if (isContains(conditionString, split_combo_tmp)) {
				    	Ext.getCmp(combo.getId()).markInvalid(Share.T('该项目重复指定，请确认。'));
						containsFlag = true;
					}
				}
			}
			
			// 获取拆分方式区域项目值---------------
			// 最大金额拆分项目	
			var splitWay = Ext.getCmp("largest_amount").getGroupValue(); // 拆分方式
			var largest_amount_text = Ext.getCmp("largest_amount_text").getValue() == null ? "" : Ext.getCmp("largest_amount_text").getValue();// 最大金额值
			
			var fixed_ratio_text1 = Ext.getCmp("fixed_ratio_text1").getValue() == null ? 0 : Ext.getCmp("fixed_ratio_text1").getValue();
			var fixed_ratio_text2 = Ext.getCmp("fixed_ratio_text2").getValue() == null ? 0 : Ext.getCmp("fixed_ratio_text2").getValue();
			var fixed_ratio_text3 = Ext.getCmp("fixed_ratio_text3").getValue() == null ? 0 : Ext.getCmp("fixed_ratio_text3").getValue();
			var fixed_ratio_text4 = Ext.getCmp("fixed_ratio_text4").getValue() == null ? 0 : Ext.getCmp("fixed_ratio_text4").getValue();
			var fixed_ratio_text5 = Ext.getCmp("fixed_ratio_text5").getValue() == null ? 0 : Ext.getCmp("fixed_ratio_text5").getValue();
			
			var splitMountOrRatio = '';
			// 拼接拆分条件
			if (splitWay == '0') {
				splitMountOrRatio = largest_amount_text;
			} else {
				splitMountOrRatio = fixed_ratio_text1 + '&' + fixed_ratio_text2 + '&' +
			            			fixed_ratio_text3 + '&' + fixed_ratio_text4 + '&' + fixed_ratio_text5;
			}
			// 拆分方式检查
			if (splitWay != '0') {
				
				// 固定比率拆分方式时，总额必须等于100%
				var fixed_sum = fixed_ratio_text1 + fixed_ratio_text2 + fixed_ratio_text3 + fixed_ratio_text4 + fixed_ratio_text5;
				if (fixed_sum != 100) {
					Ext.getCmp('fixed_ratio_text1').markInvalid(Share.T('拆分比率之和必须等于100%。'));
					Ext.getCmp('fixed_ratio_text2' ).markInvalid(Share.T('拆分比率之和必须等于100%。'));
					Ext.getCmp('fixed_ratio_text3' ).markInvalid(Share.T('拆分比率之和必须等于100%。'));
					Ext.getCmp('fixed_ratio_text4' ).markInvalid(Share.T('拆分比率之和必须等于100%。'));
					Ext.getCmp('fixed_ratio_text5' ).markInvalid(Share.T('拆分比率之和必须等于100%。'));
					errorFlag = true;
				}
			}
			// 如果页面上条件有填写不完整重复指定，报错
			if (errorFlag || containsFlag) {
				return;
			}
			
			// 判断规则条件是否有包含关系
			if (!checkRuleIsRepeat(split_rule_id, split_scopeFlag, split_cust_code, RULE_TYPE_SPLIT, split_combo)) {
				Share.ShowMessage("I0063", "拆分");		
				return;				
			}
			
			// 获取后处理区域项目值---------------
			var split_amount = "D_QUANTITY" + "&" + Ext.getCmp("split_conversion_combo01").getValue(); // 数量
			var split_price = "D_PRICE_CUR" + "&" + Ext.getCmp("split_conversion_combo02").getValue(); // 单价

			// ---------------验证通过。开始新增或修改操作---------------
			Share.AjaxRequest({  
                url: ctx + "/saveRules", 
                params: {
                	ruleBigType : 1,
                	ruleId : split_rule_id, // 规则ID
                	ruleType : RULE_TYPE_SPLIT, // 规则类型
                	scopeFlag : split_scopeFlag, // 有效范围
                	custCode : split_cust_code, // 客户Code
                	m_remark : split_remark, // 备注
                	condition : conditionString, // 条件字符串
                	splitWay : splitWay, // 拆分方式
                	splitMountOrRatio : splitMountOrRatio, // 拆分方式值
                	amount : split_amount, // 数量后处理
                	price : split_price // 单价后处理
                }, 
                showMsg : false, 
                callback : function(json) {
					if (json.resultcode == '0') {       	    		   
						Share.ShowMessage("I0006","保存");
					} else {
						Share.ShowMessage("I0007","保存");
					}
					// 刷新页面
					Ext.getCmp('tab-set-rule').getStore().reload();
					Ext.getCmp('tab-set-rule').getStore().removeAll();      	   
                 }	
            });
            
            // 关闭当前页面
            Ext.getCmp('splitWin').close();
            // 关闭新增窗口页面
			if (Ext.getCmp('RulesAdd') != null) {
				Ext.getCmp('RulesAdd').close();
			}
		}
		
		// ■ 拆分规则页面：取消按钮
		if (button.id == 'split_close') {
			Ext.getCmp('splitWin').close();
		}
		
		// ■ 拆分规则页面：删除按钮
		if (button.id == 'split_delete') {
			if (getLockStatus()) {
				Share.ShowMessage('I0068');
				return;
			}
			var ruleId = 'split_rule_id';
			var name = 'splitWin'; 
	    	deleteRules(ruleId, name, RULE_TYPE_SPLIT);
		}
		
		// ■ 退货规则页面：保存按钮
		if (button.id == 'return_save') {
			if (getLockStatus()) {
				Share.ShowMessage('I0068');
				return;
			}
			// 验证是否有信息未通过验证
			if (!Ext.getCmp('returnPanel').getForm().isValid()) {
				return;
			}
			
			// 获取页面规则主信息区域所有项目值---------------
			var return_rule_id = Ext.getCmp("return_rule_id").getValue() == null ? "" : Ext.getCmp("return_rule_id").getValue(); // 规则ID
			var return_scopeFlag = Ext.getCmp("return_scopeFlag").getValue() == null ? "" : Ext.getCmp("return_scopeFlag").getValue(); // 有效范围
			var return_cust_code = Ext.getCmp("return_cust_code").getRawValue() == null ? "" : Ext.getCmp("return_cust_code").getRawValue(); // 客户Code
			var return_remark = Ext.getCmp("return_remark").getValue() == null ? "" : Ext.getCmp("return_remark").getValue(); // 备注
			
			// 不是全部客户有效时，进行客户存在性检查
			if (return_scopeFlag != '1') {
				if (!checkCustCode(return_cust_code)) {
					Share.ShowMessage("I0014","客户代码和客户名称");
					Ext.getCmp('return_cust_code').setValue('');
					Ext.getCmp('return_cust_name').setValue('');
					return;	
				}
			}
			
			// 获取页面条件区域所有项目值---------------
			var return_condition = Ext.getCmp("return_condition");
			var panelItems = return_condition.items;
			
			// 遍历得到下拉框的值
			var return_combo = '';
			var containsFlag = false;
			for (var i = 0; i < panelItems.length-1; i++) {
				var combo = panelItems.items[i].items.items[0];// 获得combo
				var return_combo_tmp = combo.getValue(); // 获得每一个combo的值
				if (return_combo_tmp != null && return_combo_tmp != '') {
					return_combo = return_combo + return_combo_tmp + '~~';// 拼成返回数据
					// 判断条件是否重复 
					if (isContains(return_combo, return_combo_tmp)) {
						Ext.getCmp(combo.getId()).markInvalid(Share.T('该项目重复指定，请确认。'));
						containsFlag = true;
					}
				}
			}
			// 如果页面上条件有重复指定，报错
			if (containsFlag) {
				return;
			}
			
			// 判断规则条件是否有包含关系
			if (!checkRuleIsRepeat(return_rule_id, return_scopeFlag, return_cust_code, RULE_TYPE_RETURN, return_combo)) {
				Share.ShowMessage("I0063","退货");
				return;
			}
			
			var amount = '';
			var price = '';
			var type = Ext.getCmp("return_conversion_combo01").getValue();
			// 获取页面后处理区域所有项目值---------------
			if (type == '00') {
				amount = 'D_QUANTITY&00';
				price = 'D_PRICE_CUR&06';
			} else if (type == '06') {
				amount = 'D_QUANTITY&06';
				price = 'D_PRICE_CUR&00';
			} else {
				// 获取页面后处理区域所有项目值---------------
				amount = "D_QUANTITY" + '&' + 
					Ext.getCmp("return_conversion_combo01").getValue() + '&' +
					Ext.getCmp("return_conversion_text01").getValue(); // 数量
				price = "D_PRICE_CUR" + '&' + 
					Ext.getCmp("return_conversion_combo02").getValue() + '&' + 
					Ext.getCmp("return_conversion_text02").getValue(); // 单价
			}
			
			var tradeName = "D_GOODS_NAME" + '&' +
				Ext.getCmp("return_conversion_combo03").getValue() + '&' +
				Ext.getCmp("return_conversion_text03").getValue(); // 商品名
			var specification = "D_SPEC" + '&' + 
				Ext.getCmp("return_conversion_combo04").getValue() + '&' +
				Ext.getCmp("return_conversion_text04").getValue(); // 规格
			var unit = "D_GOODS_UNIT" + '&' + 
				Ext.getCmp("return_conversion_combo05").getValue() + '&' +
				Ext.getCmp("return_conversion_text05").getValue(); // 单位
			var remark = "H_REMARK" + '&' + 
				Ext.getCmp("return_conversion_combo06").getValue() + '&' + 
				Ext.getCmp("return_conversion_text06").getValue(); // 备注
			var summary = "D_REMARK" + '&' + 
				Ext.getCmp("return_conversion_combo07").getValue() + '&' + 
				Ext.getCmp("return_conversion_text07").getValue(); // 摘要
			
			// ---------------验证通过。开始新增或修改操作---------------
			Share.AjaxRequest({
                url: ctx + "/saveRules", 
                params: {
                	ruleBigType : 1,
                	ruleId : return_rule_id, // 规则ID
                	ruleType : RULE_TYPE_RETURN, // 规则类型
                	scopeFlag : return_scopeFlag, // 有效范围
                	custCode : return_cust_code, // 客户Code
                	m_remark : return_remark, // 备注
                	condition : return_combo, // 条件字符串
                	amount : amount, // 数量后处理
                	price : price, // 单价后处理
                	tradeName : tradeName, // 商品名后处理
                	specification : specification, // 规格后处理
                	unit : unit, // 单位后处理
                	remark : remark, // 备注后处理
                	summary : summary // 摘要后处理
                }, 
                showMsg : false, 
                callback : function(json) {
					if (json.resultcode == '0') {       	    		   
						Share.ShowMessage("I0006","保存");
					} else {
						Share.ShowMessage("I0007","保存");
					}
					// 刷新页面
     	    		Ext.getCmp('tab-set-rule').getStore().reload();
            		Ext.getCmp('tab-set-rule').getStore().removeAll();      	   
				}	 
            });

            // 关闭当前页面
			Ext.getCmp("returnWin").close();
			// 关闭新增窗口页面
			if (Ext.getCmp('RulesAdd')!=null) {
				Ext.getCmp('RulesAdd').close();
			}
		}

		// ■ 退货规则页面：删除按钮
		if (button.id =='return_delete') {
			if (getLockStatus()) {
				Share.ShowMessage('I0068');
				return;
			}
			var ruleId = 'return_rule_id';
			var name = "returnWin";
	    	deleteRules(ruleId, name, RULE_TYPE_RETURN);
		}

		// ■ 退货规则页面：取消按钮
		if (button.id =='return_close') {
			Ext.getCmp("returnWin").close();
		}

		// ■ 折扣规则页面：保存按钮
		if (button.id == 'discoun_save') {
			if (getLockStatus()) {
				Share.ShowMessage('I0068');
				return;
			}
			// 验证页面是否有错误项
			if (!Ext.getCmp('discounPanel').getForm().isValid()) {
				return;
			}

			// 获取页面规则主信息区域所有项目值---------------
			var discoun_rule_id = Ext.getCmp("discoun_rule_id").getValue() == null ? "" : Ext.getCmp("discoun_rule_id").getValue(); // 规则ID
			var discoun_scopeFlag = Ext.getCmp("discoun_scopeFlag").getValue() == null ? "" : Ext.getCmp("discoun_scopeFlag").getValue(); // 有效范围
			var discoun_cust_code = Ext.getCmp("discoun_cust_code").getRawValue() == null ? "" : Ext.getCmp("discoun_cust_code").getRawValue(); // 客户Code
			var discoun_remark = Ext.getCmp("discoun_remark").getValue() == null ? "" : Ext.getCmp("discoun_remark").getValue(); // 备注
			var discoun_limit = Ext.getCmp("discoun_limit").getValue() == null ? "" : Ext.getCmp("discoun_limit").getValue(); // 折扣上限
			// 不是全部客户有效时，进行客户存在性检查
			if (discoun_scopeFlag != '1') {			
				// 验证客户代码是否存在
				if (!checkCustCode(discoun_cust_code)) {
					Share.ShowMessage("I0014","客户代码和客户名称");
					Ext.getCmp('discoun_cust_code').setValue('');
					Ext.getCmp('discoun_cust_name').setValue('');
					return;	
				}
				// 验证该客户是否已添加了折扣规则
				if (!checkRepeat(RULE_TYPE_DISCOUN, discoun_scopeFlag, discoun_cust_code,discoun_rule_id)) {
					Share.ShowMessage("I0062", "折扣", "折扣");
					return;	
				}
			}
			
			// 获取页面条件区域所有项目值---------------
			var discoun_condition = Ext.getCmp("discoun_condition");
			var panelItems = discoun_condition.items;
			// 遍历得到下拉框的值
			var discoun_combo = '';
			var containsFlag = false;
			for (var i = 0; i < panelItems.length-1; i++) {
				var combo = panelItems.items[i].items.items[0]; // 获得combo
				var discoun_combo_tmp = combo.getValue(); // 获得每一个combo的值
				if (discoun_combo_tmp != null && discoun_combo_tmp != '') {
					discoun_combo = discoun_combo + discoun_combo_tmp + '~~'; // 拼成返回数据
					// 判断条件是否重复
					if (isContains(discoun_combo, discoun_combo_tmp)) {
						Ext.getCmp('discoun_combo' + (i+1)).markInvalid(Share.T('该项目重复指定，请确认。'));
						containsFlag = true;
					}
				}
			}
			// 如果页面上条件有重复指定，报错
			if (containsFlag) {
				return;
			}
			
			// 获取页面后处理区域所有项目值---------------
			var tradeName = "D_GOODS_NAME" + '&' +
				Ext.getCmp("discoun_conversion_combo01").getValue() + '&' +
				Ext.getCmp("discoun_conversion_text01").getValue(); // 商品名
			var specification = "D_SPEC" + '&' +
				Ext.getCmp("discoun_conversion_combo02").getValue() + '&' +
				Ext.getCmp("discoun_conversion_text02").getValue(); // 规格
			var unit = "D_GOODS_UNIT" + '&' +
				Ext.getCmp("discoun_conversion_combo03").getValue() + '&' +
				Ext.getCmp("discoun_conversion_text03").getValue(); // 单位
			var remark = "H_REMARK" + '&' +
				Ext.getCmp("discoun_conversion_combo04").getValue() + '&' +
				Ext.getCmp("discoun_conversion_text04").getValue(); // 备注
			var summary = "D_REMARK" + '&' +
				Ext.getCmp("discoun_conversion_combo05").getValue() + '&' +
				Ext.getCmp("discoun_conversion_text05").getValue(); // 摘要
			
			// ---------------验证通过。开始新增或修改操作---------------
			Share.AjaxRequest({
				url: ctx + "/saveRules", 
				params: {
					ruleBigType : 1,
					ruleId : discoun_rule_id, // 规则ID
					ruleType : RULE_TYPE_DISCOUN, // 规则类型
					scopeFlag : discoun_scopeFlag, // 有效范围
					custCode : discoun_cust_code, // 客户Code
					m_remark : discoun_remark, // 备注
					discountLimit : discoun_limit/100, // 折扣上限
					condition : discoun_combo, // 条件字符串
					tradeName : tradeName, // 商品名后处理
					specification : specification, // 规格后处理
					unit : unit, // 单位后处理
					remark : remark, // 备注后处理
					summary : summary // 摘要后处理
				}, 
				showMsg : false, 
				callback : function(json) {
     	    	   if (json.resultcode == '0') {
     	    		   Share.ShowMessage("I0006","保存");
     	    	   } else {
     	    		   Share.ShowMessage("I0007","保存");
     	    	   }
     	    	   // 刷新页面
     	    	   Ext.getCmp('tab-set-rule').getStore().reload();
            	   Ext.getCmp('tab-set-rule').getStore().removeAll();      	   
				}
			});
			
			// 关闭当前页面
			Ext.getCmp("discounWin").close();
			// 关闭新增窗口页面
			if (Ext.getCmp('RulesAdd') != null) {				
				Ext.getCmp('RulesAdd').close();
			}
		}

		// ■ 折扣规则页面：删除按钮
		if (button.id == 'discoun_delete') {
			if (getLockStatus()) {
				Share.ShowMessage('I0068');
				return;
			}
			var ruleId = 'discoun_rule_id';
			var name = 'discounWin';
	    	deleteRules(ruleId, name, RULE_TYPE_DISCOUN);
		}

		// ■ 折扣规则页面：取消按钮
		if (button.id == 'discoun_close') {
			Ext.getCmp("discounWin").close();
		}

		// ■ 返利规则页面：保存按钮
		if (button.id == 'rebate_save') {
			if (getLockStatus()) {
				Share.ShowMessage('I0068');
				return;
			}
			// 验证是否有信息未通过验证
			if (!Ext.getCmp('rebatePanel').getForm().isValid()) {
				return;
			}
			// 获取页面规则主信息区域所有项目值---------------
			var rebate_rule_id = Ext.getCmp("rebate_rule_id").getValue() == null ? "" : Ext.getCmp("rebate_rule_id").getValue(); // 规则ID
			var rebate_scopeFlag = Ext.getCmp("rebate_scopeFlag").getValue() == null ? "" : Ext.getCmp("rebate_scopeFlag").getValue(); // 有效范围
			var rebate_cust_code = Ext.getCmp("rebate_cust_code").getRawValue() == null ? "" : Ext.getCmp("rebate_cust_code").getRawValue(); // 客户Code
			var rebate_remark = Ext.getCmp("rebate_remark").getValue() == null ? "" : Ext.getCmp("rebate_remark").getValue(); // 备注
			var rebate_rebateTotal = Ext.getCmp("rebate_rebateTotal").getValue() == null ? "" : Ext.getCmp("rebate_rebateTotal").getValue(); // 返利总额
			var rebate_rebateReset = Ext.getCmp("rebate_rebateReset").getValue() ; // 金额重置Flag
			var rebate_priceWay = Ext.getCmp("rebate_priceWay").getValue() == true? 1:0 ; // true or false
			
			var rebate_rebateBalance = ''; // 重置后余额金额
			if( rebate_rebateReset ){
				rebate_rebateBalance = rebate_rebateTotal;
			}
			var rebate_start = Ext.getCmp("rebate_start").getValue() == null ? "" : Ext.getCmp("rebate_start").getValue(); // 开始日期
			var rebate_end = Ext.getCmp("rebate_end").getValue() == null ? "" : Ext.getCmp("rebate_end").getValue(); // 结束日期
			var rebate_rate = Ext.getCmp("rebate_rate").getValue() == null ? "" : Ext.getCmp("rebate_rate").getValue(); // 返利率
			// 不是全部客户有效时，进行客户存在性检查
			if (rebate_scopeFlag!='1') {
				// 验证客户代码是否存在
				if (!checkCustCode(rebate_cust_code)) {
					Share.ShowMessage("I0014","客户代码和客户名称");
					Ext.getCmp('rebate_cust_code').setValue('');
					Ext.getCmp('rebate_cust_name').setValue('');
					return;
				}
				// 验证当前客户是否已经添加了返利规则
				if (!checkRepeat(RULE_TYPE_REBATE, rebate_scopeFlag, rebate_cust_code,rebate_rule_id)) {
					Share.ShowMessage("I0062", "返利", "返利");
					return;	
				}
			}
			// 验证结束时间大于开始时间
			if(rebate_end !='' && rebate_start != ''){
				if (rebate_end - rebate_start <= 0) {
					Ext.getCmp('rebate_end').markInvalid(function() {
						return false;
					});
					Share.ShowMessage("E0042");
					return;
				}
			}
			
			// / 获取页面条件区域所有项目值---------------
			var rebate_condition = Ext.getCmp("rebate_condition");
			var panelItems = rebate_condition.items;
			var rebateConditionString = '';
			var errorFlag = false;
			var containsFlag = false;
			var isDecimal = true;
			// 遍历得到下拉框的值
			for (var i = 0; i < panelItems.length - 1; i++) {
				// 取得第i个panel的第一个combo值
				var combo = panelItems.items[i].items.items[0];// 获得combo
				var rebate_combo_tem = combo.getValue();
				// 取得第i个panel的第二个combo值
				var rebateCombo1 = panelItems.items[i].items.items[1];
				var rebate_rebateCombo1 = rebateCombo1.getValue();
				// 取得第i个panel的条件值
				var rebateConditionValue = panelItems.items[i].items.items[2].getValue();
				
				// 检查与金额数量相关是否正确输入数字
				if(checkIsDecimal(rebate_combo_tem, rebateConditionValue, i, panelItems) == false){
					isDecimal = false;
				}
				
				// 检查是否有必须项目为空
				if ((rebate_combo_tem == null || rebate_combo_tem == '') 
					&& ((rebate_rebateCombo1 != null && rebate_rebateCombo1 != '') 
						|| (rebateConditionValue != null && rebateConditionValue != '')
						)
					){
					Ext.getCmp(combo.getId()).markInvalid(Share.T('条件项目不能为空。'));
					errorFlag = true;
				}
				if ((rebate_rebateCombo1 == null || rebate_rebateCombo1 == '') 
					&& ((rebate_combo_tem != null && rebate_combo_tem != '') 
						|| (rebateConditionValue != null && rebateConditionValue != '')
						)
					){
					Ext.getCmp(rebateCombo1.getId()).markInvalid(Share.T('条件符号不能为空。'));
					errorFlag = true;
				}
				if ((rebateConditionValue == null || rebateConditionValue == '') 
					&& ((rebate_rebateCombo1 != null && rebate_rebateCombo1 != '') 
						|| (rebate_combo_tem != null && rebate_combo_tem != '')
						)
					){
					Ext.getCmp(panelItems.items[i].items.items[2].getId()).markInvalid(Share.T('条件值不能为空。'));
					errorFlag = true;
				}
				
				// 对数值型条件进行四舍五入
				rebateConditionValue = changeDecimal(rebate_combo_tem, rebateConditionValue);
				
				// 拼接条件字符串
				if (rebate_combo_tem != null && rebate_combo_tem != '' && rebate_rebateCombo1 != null && rebate_rebateCombo1 != ''  && rebateConditionValue != null && rebateConditionValue != '') {
			  		// 获得单据状态条件数据
					rebateConditionString = rebateConditionString + rebate_combo_tem + '&' + rebate_rebateCombo1 + '&' + rebateConditionValue + '~~';
					// 判断规则是否重复
					if (isContains(rebateConditionString, rebate_combo_tem)) {
						Ext.getCmp(combo.getId()).markInvalid(Share.T('该项目重复指定，请确认。'));
						containsFlag = true;
					}
				}
			}
			
			// 如果页面上条件有填写不完整重复指定，报错
			if (errorFlag || containsFlag || !isDecimal) {
				return;
			}
			
			var type = Ext.getCmp('rebate_conversion_combo01').getValue();
			var amount = '';
			var price = '';
			if ( type == '00') {
				amount = 'D_QUANTITY&00';
				price = 'D_PRICE_CUR&06';
			} else if (type == '06') {
				amount = 'D_QUANTITY&06';
				price = 'D_PRICE_CUR&00';
			} else {
				// 获取页面后处理区域所有项目值---------------
				amount = "D_QUANTITY" + '&' + 
					Ext.getCmp("rebate_conversion_combo01").getValue() + '&' + 
					Ext.getCmp("rebate_conversion_text01").getValue(); // 数量			
				price = "D_PRICE_CUR" + '&' + 
					Ext.getCmp("rebate_conversion_combo02").getValue() + '&' + 
					Ext.getCmp("rebate_conversion_text02").getValue(); // 单价
			}
			var tradeName = "D_GOODS_NAME" + '&' + 
				Ext.getCmp("rebate_conversion_combo03").getValue() + '&' + 
				Ext.getCmp("rebate_conversion_text03").getValue(); // 商品名
			var specification = "D_SPEC" + '&' + 
				Ext.getCmp("rebate_conversion_combo04").getValue() + '&' + 
				Ext.getCmp("rebate_conversion_text04").getValue(); // 规格
			var unit = "D_GOODS_UNIT" + '&' + 
				Ext.getCmp("rebate_conversion_combo05").getValue() + '&' + 
				Ext.getCmp("rebate_conversion_text05").getValue(); // 单位
			var remark = "H_REMARK"+'&' + 
				Ext.getCmp("rebate_conversion_combo06").getValue() + '&' + 
				Ext.getCmp("rebate_conversion_text06").getValue(); // 备注
			var summary = "D_REMARK" + '&' + 
				Ext.getCmp("rebate_conversion_combo07").getValue() + '&' + 
				Ext.getCmp("rebate_conversion_text07").getValue(); // 摘要

			// ---------------验证通过。开始新增或修改操作---------------
			Share.AjaxRequest({
                url : ctx + "/saveRules", 
                params : {
                	ruleBigType : 1,
                	ruleId : rebate_rule_id, // 规则ID
                	ruleType : RULE_TYPE_REBATE, // 规则类型
                	scopeFlag : rebate_scopeFlag, // 有效范围
                	custCode : rebate_cust_code, // 客户Code
                	m_remark : rebate_remark, // 备注
                	rebateLimit : rebate_rebateTotal, // 返利总额
                	rebatePriceWay:rebate_priceWay,
                	rebateBalance : rebate_rebateBalance, // 返利余额  
                	rebateReset : rebate_rebateReset, // 金额重置FLAG
                	rebateSdate : rebate_start, // 开始日
                	rebateEdate : rebate_end, // 结束日
                	rebateRate : rebate_rate/100, // 返利率
                	condition : rebateConditionString, // 条件字符串
                	amount : amount, // 数量后处理
                	price : price, // 单价后处理
                	tradeName : tradeName, // 商品名后处理
                	specification : specification, // 规格后处理
                	unit : unit, // 单位后处理
                	remark : remark, // 备注后处理
                	summary : summary // 摘要后处
                }, 
                showMsg : false, 
                callback : function(json) {
      	    	   if (json.resultcode == '0') {
      	    		   Share.ShowMessage("I0006","保存");
      	    	   } else {
      	    		   Share.ShowMessage("I0007","保存");
      	    	   }
      	    	   // 刷新页面
      	    	   Ext.getCmp('tab-set-rule').getStore().reload();
             	   Ext.getCmp('tab-set-rule').getStore().removeAll();
                }
			});
			// 关闭当前页面
			Ext.getCmp("rebateWin").close();
			// 关闭新增窗口页面
			if (Ext.getCmp('RulesAdd')!=null) {
				Ext.getCmp('RulesAdd').close();
			}
		}
		
		// ■ 返利规则页面：取消按钮
		if (button.id == 'rebate_close') {
			Ext.getCmp("rebateWin").close();
		}

		// ■ 返利规则页面：删除按钮
		if (button.id == 'rebate_delete') {
			if (getLockStatus()) {
				Share.ShowMessage('I0068');
				return;
			}
			var ruleId = 'rebate_rule_id';
			var name = 'rebateWin';
	    	deleteRules(ruleId, name, RULE_TYPE_REBATE);
		}
		
		// ■ 自定义摘要规则：保存按钮
		if (button.id == 'saveAbstract') {
			if (getLockStatus()) {
				Share.ShowMessage('I0068');
				return;
			}
			// 验证页面是否有错误项
			var form = Ext.getCmp('selfDefine_abstract');
			basicForm = form.getForm();
			if (!basicForm.isValid()) {
   	        	return;
			}
			
			// 获取页面规则主信息区域所有项目值---------------
		    // 有效范围(1:该规则对全部客户有效2:该规则对当前客户有效3:当前客户不启用该规则)
		    var scopeFlag = Ext.getCmp('abstract_scopeFlag').getValue();
		    // 客户ID：对应数据库字段Main表CUST_CODE
		    var cust_code = Ext.getCmp('customer_id').getRawValue();
		    // 规则ID
		    var ruleId = Ext.getCmp('abstract_rule_id').getValue();
		    // 备注信息
		    var remark = Ext.getCmp('remarkField').getValue();
		    
	    	// 不是全部客户有效时，进行客户存在性检查
		    if (scopeFlag != '1') {
		    	if ( !checkCustCode(cust_code)) {
		    		Share.ShowMessage("I0014","客户代码和客户名称");
					Ext.getCmp('customer_id').setValue('');
					Ext.getCmp('customer_name_chn').setValue('');
					return;
		    	}
		    }	

		    // 获取页面条件区域所有项目值---------------
		    var conditionString = '';
		    var condition = Ext.getCmp("condition");
			// 获得return_condition子容器数组			 
			var panelItems = condition.items;
			var abstract1_combo = '';
			var errorFlag = false;
			var containsFlag = false;
			var isDecimal = true;
			
			// 遍历得到下拉框的值
			for (var i = 0; i < panelItems.length - 1; i++) {
				//取得第i个panel的第一个combo值
				var combo = panelItems.items[i].items.items[0];//获得combo										
				var abstract_combo = combo.getValue();
				//取得第i个panel的第二个combo值
				var combo1 = panelItems.items[i].items.items[1];					
				var abstract_combo1 = combo1.getValue();
				//取得第i个panel的条件值
				var condition_value = panelItems.items[i].items.items[2].getValue();

				// 检查与金额数量相关是否正确输入数字
				if(checkIsDecimal(abstract_combo, condition_value, i, panelItems) == false){
					isDecimal = false;
				}

				// 检查是否有必须项目为空
				if ((abstract_combo == null || abstract_combo == '') 
					&& ((abstract_combo1 != null && abstract_combo1 != '') 
						|| (condition_value != null && condition_value != '')
						)
					){
					Ext.getCmp(combo.getId()).markInvalid(Share.T('条件项目不能为空。'));
					errorFlag = true;
				}
				if ((abstract_combo1 == null || abstract_combo1 == '') 
					&& ((abstract_combo != null && abstract_combo != '') 
						|| (condition_value != null && condition_value != '')
						)
					){
					Ext.getCmp(combo1.getId()).markInvalid(Share.T('条件符号不能为空。'));
					errorFlag = true;
				}
				if ((condition_value == null || condition_value == '') 
					&& ((abstract_combo1 != null && abstract_combo1 != '') 
						|| (abstract_combo != null && abstract_combo != '')
						)
					){
					Ext.getCmp(panelItems.items[i].items.items[2].getId()).markInvalid(Share.T('条件值不能为空。'));
					errorFlag = true;
				}
				
				// 对数值型条件进行四舍五入
				condition_value = changeDecimal(abstract_combo, condition_value);
				
				// 拼接条件字符串
				if (abstract_combo != null && abstract_combo != '' && abstract_combo1 != null && abstract_combo1 != ''  && condition_value != null && condition_value != '') {
			  		//获得摘要条件数据
				    conditionString = conditionString + abstract_combo + '&' + abstract_combo1 + '&' + condition_value + '~~';
				    abstract1_combo += '~~' + abstract_combo;
					// 判断条件是否重复
				    if (isContains(conditionString, abstract_combo)) {
				    	Ext.getCmp(combo.getId()).markInvalid(Share.T('该项目重复指定，请确认。'));
						containsFlag = true;
					}
				}
			}
			// 如果页面上条件有填写不完整重复指定，报错
			if (errorFlag || containsFlag || !isDecimal) {
				return;
			}
			
			// 判断规则条件是否有包含关系
			if (!checkRuleIsRepeat(ruleId, scopeFlag, cust_code, RULE_TYPE_ABSTRACT, abstract1_combo)) {
				Share.ShowMessage("I0063","自定义摘要");
				return;				
			}
			
			// 获取页面后处理区域所有项目值---------------
			// 自定义摘要
			var selfDefineAbstract = Ext.getCmp("selfDefineAbstract");
			// 获得selfDefineAbstract子容器数组
			var radioValue = -1;	
			var selfDefineString = '';
			var panelItems1 = selfDefineAbstract.items;
			if (panelItems1.length == 1) {
				 Share.ShowMessage("I0049","自定义摘要");
				 return;
			}
			
			// 拼接自定义摘要字符串
			for (var i = 0; i < panelItems1.length - 1; i++) {
				 // 取得第i个panel的第一个combo值
				 var comboSelfDefine = panelItems1.items[i].items.items[0];
				 var selfDefine = comboSelfDefine.getValue();		
				 // 取得第i个panel的第一个radio值
				 var radio1 = panelItems1.items[i].items.items[1];
				 if (radio1.getValue() == true){
					 radioValue = 0;
				 }					
				 // 取得前后截取标志
				 var splitFrontOrNot = panelItems1.items[i].items.items[2];
				 var frontOrNot = splitFrontOrNot.getValue();					 
				 // 取得截取位数
				 var splitNum = panelItems1.items[i].items.items[3];
				 var num = splitNum.getValue();
				 
				 // 取得第i个panel的第二个radio值
				 var radio2 = panelItems1.items[i].items.items[5];
				 if (radio2.getValue() == true){
					 radioValue = 1;
				 }
				 // 前的文本
				 var frontText = panelItems1.items[i].items.items[6];
				 var frontTextValue = frontText.getValue();
				 var beforeAfterType = panelItems1.items[i].items.items[7].getValue();
				 // 取得第i个panel的第二个radio值
				 var radio3 = panelItems1.items[i].items.items[9];
				 if (radio3.getValue() == true){
					 radioValue = 2;
				 }
				 
				 // 固定文本
				 var fixedText = panelItems1.items[i].items.items[11];
				 var fixedTextValue = fixedText.getValue();					
				
				 if (radioValue == 1 || radioValue == 2){
					 frontOrNot = '';
					 num = 0;
					 
				 }
				 if (radioValue == 0 || radioValue == 2){
					 beforeAfterType = '';
				 }
				 // 拼好传往数据库的自定义摘要数据
				 selfDefineString = selfDefineString+selfDefine + '&'
				 					+ radioValue +'&'
				 					+ frontOrNot+'&'
				 					+ num+'&' 
				 					+ frontTextValue + '&'
				 					+ beforeAfterType + '&' 
				 					+ fixedTextValue + '&';     				 
			
			}

          	// ---------------验证通过。开始新增或修改操作---------------
			Share.AjaxRequest({
				url : ctx + '/saveRules', 
         		showMsg : false, 
         		params : {
         			ruleBigType : 4,
         			ruleType : RULE_TYPE_ABSTRACT, // 规则类型
         			scopeFlag : scopeFlag, // 有效范围
         			custCode : cust_code, // 客户Code
         			m_remark : remark, // 备注
         			ruleId : ruleId, // 规则ID
                 	condition : conditionString, // 条件字符串
                 	defineAbstract : selfDefineString // 自定义摘要字符串
         		}, 
         		callback : function(json) {
      	    	   if (json.resultcode == '0') {       	    		   
      	    		   Share.ShowMessage("I0006","保存");
      	    	   } else {
      	    		   Share.ShowMessage("I0007","保存");
      	    	   }
      	    	   // 刷新页面
      	    	   Ext.getCmp('tab-set-rule').getStore().reload();
             	   Ext.getCmp('tab-set-rule').getStore().removeAll();      	   
         		}       
			});
			
			// 关闭当前页面
			Ext.getCmp('abstractWin').close();
			// 关闭新增窗口页面
			if (Ext.getCmp('RulesAdd') != null) {
				Ext.getCmp('RulesAdd').close();
			}
		}

		// ■ 自定义摘要规则页面：取消按钮
	    if (button.id == 'close_abstract') {
	    	Ext.getCmp('abstractWin').close();  	 
	    }

	    // ■ 自定义摘要规则页面：删除按钮
	    if (button.id == 'deleteAbstract') {
	    	if (getLockStatus()) {
				Share.ShowMessage('I0068');
				return;
			}
	    	var ruleID = 'abstract_rule_id';
	    	var name = 'abstractWin';
	    	deleteRules(ruleID, name, RULE_TYPE_ABSTRACT);
		}

	    // ■ 自定义备注规则页面：保存按钮
		if (button.id == 'saveRemark') {
			if (getLockStatus()) {
				Share.ShowMessage('I0068');
				return;
			}
			// 验证页面是否有错误项
			var form = Ext.getCmp('selfDefine_remark');
		    basicForm = form.getForm();
		    if (!basicForm.isValid()) {
   	        	return;
		    }
		    
		    // 获取页面规则主信息区域所有项目值---------------
		   
		    // 有效范围(1:该规则对全部客户有效0:该规则对当前客户有效2:当前客户不启用该规则)
		    var scopeFlag = Ext.getCmp('remark_scopeFlag').getValue();
		    // 客户ID：对应数据库字段Main表CUST_CODE
		    var cust_code = Ext.getCmp('remark_custCode').getRawValue();
		    // 规则ID
		    var ruleId = Ext.getCmp('remark_hiddenFieldValue').getValue();
		    // 备注信息
		    var remark = Ext.getCmp('remark_value').getValue();
		    // 不是全部客户有效时，进行客户存在性检查
		    if (scopeFlag != '1') {
		    	if (!checkCustCode(cust_code)) {
		    		Share.ShowMessage("I0014","客户代码和客户名称");
					Ext.getCmp('remark_custCode').setValue('');
					Ext.getCmp('remark_custName_chn').setValue('');
					return;	
		    	}
		    }	
		    
		    // 获取页面条件区域所有项目值---------------
		    var conditionString = '';
		    var condition = Ext.getCmp("condition");
			// 获得return_condition子容器数组			 
			var panelItems = condition.items;
			var remark1_combo = '';
			var errorFlag = false;
			var containsFlag = false;
			var isDecimal = true;
			
			// 遍历得到下拉框的值
			for (var i = 0; i < panelItems.length - 1; i++) {
				// 取得第i个panel的第一个combo值
				var combo = panelItems.items[i].items.items[0];// 获得combo										
			    remark_combo = combo.getValue();										
				// 取得第i个panel的第二个combo值
				var combo1 = panelItems.items[i].items.items[1];					
				var remark_combo1 = combo1.getValue();
				// 取得第i个panel的条件值
				var condition_value = panelItems.items[i].items.items[2].getValue();
				
				// 检查与金额数量相关是否正确输入数字
				if(checkIsDecimal(remark_combo, condition_value, i, panelItems) == false){
					isDecimal = false;
				}

				// 检查是否有必须项目为空
				if ((remark_combo == null || remark_combo == '') 
					&& ((remark_combo1 != null && remark_combo1 != '') 
						|| (condition_value != null && condition_value != '')
						)
					){
					Ext.getCmp(combo.getId()).markInvalid(Share.T('条件项目不能为空。'));
					errorFlag = true;
				}
				if ((remark_combo1 == null || remark_combo1 == '') 
					&& ((remark_combo != null && remark_combo != '') 
						|| (condition_value != null && condition_value != '')
						)
					){
					Ext.getCmp(combo1.getId()).markInvalid(Share.T('条件符号不能为空。'));
					errorFlag = true;
				}
				if ((condition_value == null || condition_value == '') 
					&& ((remark_combo1 != null && remark_combo1 != '') 
						|| (remark_combo != null && remark_combo != '')
						)
					){
					Ext.getCmp(panelItems.items[i].items.items[2].getId()).markInvalid(Share.T('条件值不能为空。'));
					errorFlag = true;
				}
				// 对数值型条件进行四舍五入
				condition_value = changeDecimal(remark_combo, condition_value);
				// 拼接条件字符串
				if (remark_combo != null && remark_combo != '' && remark_combo1 != null && remark_combo1 != ''  && condition_value != null && condition_value != '') {
			  		// 获得备注条件数据
				    conditionString = conditionString + remark_combo + '&' + remark_combo1 + '&' + condition_value + '~~';
				    remark1_combo += '~~' + remark_combo;
					// 判断条件是否重复
					if (isContains(conditionString, remark_combo)) {
						Ext.getCmp(combo.getId()).markInvalid(Share.T('该项目重复指定，请确认。'));
						containsFlag = true;
					}
				}
			}
			// 如果页面上条件有填写不完整重复指定，报错
			if (errorFlag || containsFlag || !isDecimal) {
				return;
			}
			
			// 判断规则条件是否有包含关系
			if (!checkRuleIsRepeat(ruleId, scopeFlag, cust_code, RULE_TYPE_REMARK, remark1_combo)) {
				Share.ShowMessage("I0063","自定义备注");
				return;				
			}
			
			// 获取页面后处理区域所有项目值---------------
			// 自定义备注
			var selfDefineRemark = Ext.getCmp("selfDefineRemark");
			// 获得selfDefineRemark子容器数组
			var radioValue = -1;	
			var selfDefineString = '';
			var panelItems1 = selfDefineRemark.items;
			// 验证是否有定义自定义备注
			if (panelItems1.length == 1) {
				Share.ShowMessage("I0049","自定义备注");
				return;
			}
			// 拼接自定义备注内容字符串
			for (var i = 0; i < panelItems1.length - 1; i++) {
				// 取得第i个panel的第一个combo值
				var comboSelfDefine = panelItems1.items[i].items.items[0];
				var selfDefine = comboSelfDefine.getValue();	
				// 取得第i个panel的第一个radio值
				var radio1 = panelItems1.items[i].items.items[1];
				if (radio1.getValue() == true){
					radioValue=0;
				}					
				// 取得前后截取标志
				var splitFrontOrNot = panelItems1.items[i].items.items[2];
				var frontOrNot = splitFrontOrNot.getValue();					 
				// 取得截取位数
				var splitNum = panelItems1.items[i].items.items[3];
				var num = splitNum.getValue();
				
				// 取得第i个panel的第二个radio值
				var radio2 = panelItems1.items[i].items.items[5];
				if (radio2.getValue() == true){
					radioValue=1;
				}
				// 前的文本
				var frontText = panelItems1.items[i].items.items[6];
				var frontTextValue = frontText.getValue();
				var beforeAfterType = panelItems1.items[i].items.items[7].getValue();
				// 取得第i个panel的第二个radio值
				var radio3 = panelItems1.items[i].items.items[9];
				if (radio3.getValue() == true){
					radioValue = 2;
				}
				// 固定文本
				var fixedText = panelItems1.items[i].items.items[11];
				var fixedTextValue = fixedText.getValue();			
				if (radioValue == 1 || radioValue == 2){
					frontOrNot = '';
					num = 0;
				}	
				if (radioValue == 0 || radioValue == 2){
					beforeAfterType = '';
				}
				 // 拼好传往数据库的自定义备注数据
				selfDefineString = selfDefineString + selfDefine + '&' + radioValue + '&' + frontOrNot + '&' 
								+ num + '&' + frontTextValue + '&' + beforeAfterType + '&' + fixedTextValue + '&';
			
			}

			// ---------------验证通过。开始新增或修改操作---------------
			Share.AjaxRequest({
				url : ctx + '/saveRules', 
				showMsg : false, 
				params : {
					ruleBigType : 4,
					ruleId : ruleId, 
					ruleType : RULE_TYPE_REMARK, 
					scopeFlag : scopeFlag, 
					custCode : cust_code, 
					m_remark : remark,
					condition : conditionString, 
					defineRemarks : selfDefineString
				}, 
      	       	callback : function(json) {
      	    	   if (json.resultcode == '0') {
      	    		   Share.ShowMessage("I0006","保存");
      	    	   } else {
      	    		   Share.ShowMessage("I0007","保存");

      	    	   }
      	    	   // 刷新页面
      	    	   Ext.getCmp('tab-set-rule').getStore().reload();
             	   Ext.getCmp('tab-set-rule').getStore().removeAll();
      	        }	       
			});
			// 关闭当前页面
			Ext.getCmp('remarkWin').close();
			// 关闭新增窗口页面
			if (Ext.getCmp('RulesAdd') != null) {
				Ext.getCmp('RulesAdd').close(); 
			}
		}

		// ■ 自定义备注规则页面：取消按钮
	    if (button.id == 'close_remark'){
	    	Ext.getCmp('remarkWin').close();
	    }

	    // ■ 自定义备注规则页面：删除按钮
	    if (button.id == 'deleteRemark') {
	    	if (getLockStatus()) {
				Share.ShowMessage('I0068');
				return;
			}
	    	var ruleID = 'remark_hiddenFieldValue';
	    	var name = 'remarkWin';
	    	deleteRules(ruleID, name, RULE_TYPE_REMARK);
	    }

	    // ■ 单据状态规则页面：保存按钮
		if (button.id == 'saveDocumentKeep') {
			if (getLockStatus()) {
				Share.ShowMessage('I0068');
				return;
			}
			// 验证页面是否有错误项
			var form = Ext.getCmp('selfDefine_documentConservation');
			basicForm = form.getForm();
			if (!basicForm.isValid()) {
				return;
			}
			
			// 获取页面规则主信息区域所有项目值---------------
		    // 单据状态-有效范围
		    var doc_scopeFlag = Ext.getCmp('doc_scopeFlag').getValue();
		    // 单据状态-规则ＩＤ
		    var ruleId = Ext.getCmp('doc_ruleHidden_id').getValue();
		    // 单据状态-客户code
		    var doc_custCode = Ext.getCmp('doc_customer_code').getRawValue();
		    // 单据状态-备注
		    var doc_remark = Ext.getCmp('doc_remark').getValue();
		    // 单据状态条件获取
		    var doc_condition = Ext.getCmp("doc_condition");
		    
		    // 单据状态
		    var doc_type = Ext.getCmp('doc_type').getValue();
		    // 是否保持
		    var doc_keep = Ext.getCmp('doc_keep').getValue();
		    // 不是全部客户有效时，进行客户存在性检查
		    if (doc_scopeFlag != '1') {
				if (!checkCustCode(doc_custCode)) {
					Share.ShowMessage("I0014","客户代码和客户名称");
					Ext.getCmp('doc_customer_code').setValue('');
					Ext.getCmp('doc_customer_name_chn').setValue('');
					return;
				}
		    }

		    // 获取页面条件区域所有项目值---------------
			// 获得doc_condition子容器数组			 
			var panelItems = doc_condition.items;
			var doc_conditionString = '';
			var doc_combo = '';
			var errorFlag = false;
			var containsFlag = false;
			var isDecimal = true;
			
			// 遍历得到下拉框的值
			for (var i = 0; i < panelItems.length - 1; i++) {
				// 取得第i个panel的第一个combo值
				var combo = panelItems.items[i].items.items[0];// 获得combo
				var doc_combo_tmp = combo.getValue();
				// 取得第i个panel的第二个combo值
				var doc_combo1 = panelItems.items[i].items.items[1];
				var doc_combo1_tmp = doc_combo1.getValue();
				// 取得第i个panel的条件值
				var doc_condition_value = panelItems.items[i].items.items[2].getValue();			
				
				// 检查与金额数量相关是否正确输入数字
				if(checkIsDecimal(doc_combo_tmp, doc_condition_value, i, panelItems) == false){
					isDecimal = false;
				}
				
				// 检查是否有必须项目为空
				if ((doc_combo_tmp == null || doc_combo_tmp == '') 
					&& ((doc_combo1_tmp != null && doc_combo1_tmp != '') 
						|| (doc_condition_value != null && doc_condition_value != '')
						)
					){
					Ext.getCmp(combo.getId()).markInvalid(Share.T('条件项目不能为空。'));
					errorFlag = true;
				}
				if ((doc_combo1_tmp == null || doc_combo1_tmp == '') 
					&& ((doc_combo_tmp != null && doc_combo_tmp != '') 
						|| (doc_condition_value != null && doc_condition_value != '')
						)
					){
					Ext.getCmp(doc_combo1.getId()).markInvalid(Share.T('条件符号不能为空。'));
					errorFlag = true;
				}
				if ((doc_condition_value == null || doc_condition_value == '') 
					&& ((doc_combo1_tmp != null && doc_combo1_tmp != '') 
						|| (doc_combo_tmp != null && doc_combo_tmp != '')
						)
					){
					Ext.getCmp(panelItems.items[i].items.items[2].getId()).markInvalid(Share.T('条件值不能为空。'));
					errorFlag = true;
				}

				// 对数值型条件进行四舍五入
				doc_condition_value = changeDecimal(doc_combo_tmp, doc_condition_value);
				
				// 拼接条件字符串
				if (doc_combo_tmp != null && doc_combo_tmp != '' && doc_combo1_tmp != null && doc_combo1_tmp != ''  && doc_condition_value != null && doc_condition_value != '') {
			  		// 获得单据状态条件数据
				    doc_conditionString = doc_conditionString + doc_combo_tmp + '&' + doc_combo1_tmp + '&' + doc_condition_value + '~~';
				    doc_combo += '~~' + doc_combo_tmp;
					// 判断条件是否重复
					if (isContains(doc_conditionString, doc_combo_tmp)) {
						Ext.getCmp(combo.getId()).markInvalid(Share.T('该项目重复指定，请确认。'));
						containsFlag = true;
					}
				}
			}
			// 如果页面上条件有填写不完整重复指定，报错
			if (errorFlag || containsFlag || !isDecimal) {
				return;
			}
			// 判断规则条件是否有包含关系
			if (!checkRuleIsRepeat(ruleId, doc_scopeFlag, doc_custCode, RULE_TYPE_DOCUMENT_CONSERVATION, doc_combo)) {
				Share.ShowMessage("I0063","单据状态");
				return;
			}
			
			// ---------------验证通过。开始新增或修改操作---------------
			Share.AjaxRequest({
      		   	url : ctx + '/saveRules', 
      		   	showMsg : false, 
      		   	params : {
      		   		ruleBigType : 5,
      		   		ruleId : ruleId, 
      		   		ruleType : RULE_TYPE_DOCUMENT_CONSERVATION, 
      		   		scopeFlag : doc_scopeFlag, 
      		   		custCode : doc_custCode, 
      		   		m_remark : doc_remark,
            	    condition : doc_conditionString,
            	    docStatus : doc_type,
            	    docKeep : doc_keep
      		   	}, 
      	       	callback : function(json) {
      	       		if (json.resultcode == '0') {
      	       		    Share.ShowMessage("I0006","保存");
      	       		} else {
      	       		    Share.ShowMessage("I0007","保存");
      	       		}
      	       		// 刷新页面
      	       		Ext.getCmp('tab-set-rule').getStore().reload();
      	       		Ext.getCmp('tab-set-rule').getStore().removeAll();
      	       	}
			});
			// 关闭当前页面
			Ext.getCmp('documentConservationWin').close();
			// 关闭新增窗口页面
			if (Ext.getCmp('RulesAdd') != null) {
				Ext.getCmp('RulesAdd').close();
			}
		}

		// ■ 单据状态规则页面：取消按钮
		if (button.id == 'close_dockeep_page'){
			Ext.getCmp('documentConservationWin').close();
		}

		// ■ 单据状态规则页面：删除按钮
		if (button.id == 'deleteDocumentKeep') {
			if (getLockStatus()) {
				Share.ShowMessage('I0068');
				return;
			}
			var ruleID = 'doc_ruleHidden_id';
			var name = 'documentConservationWin';
			deleteRules(ruleID, name, RULE_TYPE_DOCUMENT_CONSERVATION);
		}

		// ■ 替换商品名规则页面：保存按钮
		if (button.id == 'replace_goods_add') {
			if (getLockStatus()) {
				Share.ShowMessage('I0068');
				return;
			}
			// 验证页面是否有错误项
			var form = Ext.getCmp('replace_good');
			basicForm = form.getForm();
		    if (!basicForm.isValid()) {
   	        	return;
		    }
		    // 获取页面条件区域所有项目值---------------
		    // 替换商品-有效范围
		    var replaceGoodsScopeFlag = Ext.getCmp('replace_goods_scopeFlag').getValue();	
		    // 替换商品-规则ID
		    var ruleId = Ext.getCmp('replace_goods_hiddenFieldValue').getValue(); 
		    // 替换商品-客户code
		    var replaceGoodsCustCode = Ext.getCmp('replace_goods_custCode').getRawValue();
		    // 替换商品-备注
		    var replaceGoodsRemark = Ext.getCmp('replace_goods_remarks').getValue();
		    
		    // 不是全部客户有效时，进行客户存在性检查
		    if (replaceGoodsScopeFlag != '1') {
		    	if (!checkCustCode(replaceGoodsCustCode)) {
		    		Share.ShowMessage("I0014","客户代码和客户名称");
					Ext.getCmp('replace_goods_custCode').setValue('');
					Ext.getCmp('replace_goods_custName_chn').setValue('');
					return;	
		    	}			 
		    }					   
		    
		    // 获取页面条件区域所有项目值---------------
		    var replaceGoodsCondition = Ext.getCmp("condition");
			// 获得doc_condition子容器数组			 
			var panelItems = replaceGoodsCondition.items;
			var replaceGoodsConditionString = '';
			var replaceGoodsCombo = '';
			var errorFlag = false;
			var containsFlag = false;
			var isDecimal = true;
			
			// 遍历得到下拉框的值
			for (var i = 0; i < panelItems.length - 1; i++) {
				// 取得第i个panel的第一个combo值
				var combo = panelItems.items[i].items.items[0];// 获得combo	
				var replaceGoodsComboTmp = combo.getValue();										
				// 取得第i个panel的第二个combo值
				var replaceGoodsCombo1 = panelItems.items[i].items.items[1];					
				var replaceGoodsCombo1_tmp = replaceGoodsCombo1.getValue();			
				// 取得第i个panel的条件值
				var replaceGoodsConditionValue = panelItems.items[i].items.items[2].getValue();
				
				// 检查与金额数量相关是否正确输入数字
				if(checkIsDecimal(replaceGoodsComboTmp, replaceGoodsConditionValue, i, panelItems) == false){
					isDecimal = false;
				}

				// 检查是否有必须项目为空
				if ((replaceGoodsComboTmp == null || replaceGoodsComboTmp == '') 
					&& ((replaceGoodsCombo1_tmp != null && replaceGoodsCombo1_tmp != '') 
						|| (replaceGoodsConditionValue != null && replaceGoodsConditionValue != '')
						)
					){
					Ext.getCmp(combo.getId()).markInvalid(Share.T('条件项目不能为空。'));
					errorFlag = true;
				}
				if ((replaceGoodsCombo1_tmp == null || replaceGoodsCombo1_tmp == '') 
					&& ((replaceGoodsComboTmp != null && replaceGoodsComboTmp != '') 
						|| (replaceGoodsConditionValue != null && replaceGoodsConditionValue != '')
						)
					){
					Ext.getCmp(replaceGoodsCombo1.getId()).markInvalid(Share.T('条件符号不能为空。'));
					errorFlag = true;
				}
				if ((replaceGoodsConditionValue == null || replaceGoodsConditionValue == '') 
					&& ((replaceGoodsCombo1_tmp != null && replaceGoodsCombo1_tmp != '') 
						|| (replaceGoodsComboTmp != null && replaceGoodsComboTmp != '')
						)
					){
					Ext.getCmp(panelItems.items[i].items.items[2].getId()).markInvalid(Share.T('条件值不能为空。'));
					errorFlag = true;
				}
				
				// 对数值型条件进行四舍五入
				replaceGoodsConditionValue = changeDecimal(replaceGoodsComboTmp, replaceGoodsConditionValue);
				
				// 拼接条件字符串
				if (replaceGoodsComboTmp != null && replaceGoodsComboTmp != '' && replaceGoodsCombo1_tmp != null && replaceGoodsCombo1_tmp != ''  && replaceGoodsConditionValue != null && replaceGoodsConditionValue != '') {
					// 获得替换商品条件数据
					replaceGoodsConditionString = replaceGoodsConditionString + replaceGoodsComboTmp + '&' + replaceGoodsCombo1_tmp + '&' + replaceGoodsConditionValue + '~~';
					replaceGoodsCombo += '~~' + replaceGoodsComboTmp;
					// 判断条件是否重复
					if (isContains(replaceGoodsConditionString, replaceGoodsComboTmp)) {
						Ext.getCmp(combo.getId()).markInvalid(Share.T('该项目重复指定，请确认。'));
						containsFlag = true;
					}
				}
			}
			// 如果页面上条件有填写不完整重复指定，报错
			if (errorFlag || containsFlag || !isDecimal) {
				return;
			}
			
			// 判断规则条件是否有包含关系
			if (!checkRuleIsRepeat(ruleId, replaceGoodsScopeFlag, replaceGoodsCustCode, RULE_TYPE_REPLACE_GOOD, replaceGoodsCombo)) {
				Share.ShowMessage("I0063","替换商品名");
				return;				
			}
			
			// 获取页面后处理区域所有项目值---------------
			// 替换成数据
		    var replaceFinalValue=Ext.getCmp('replace_goods_finalValue').getValue();
		    
		    // ---------------验证通过。开始新增或修改操作---------------
		    Share.AjaxRequest({
	  		   	url: ctx + '/saveRules',
	  		   	showMsg: false, 
	            params : {
	            	ruleBigType : 2,
	            	ruleId : ruleId, // 规则ID
	            	ruleType : RULE_TYPE_REPLACE_GOOD, // 规则类型
	            	scopeFlag : replaceGoodsScopeFlag, // 有效范围
	            	custCode : replaceGoodsCustCode, // 客户Code
	            	m_remark : replaceGoodsRemark, // 备注
	            	goodsName : replaceFinalValue, // 替换后的值
	            	condition : replaceGoodsConditionString // 条件字符串
	            },
	            callback : function(json) {
		  	    	if (json.resultcode == '0') {    		   
		  	    		Share.ShowMessage("I0006","保存");
		  	    	} else {
		  	    		Share.ShowMessage("I0007","保存");
		  	    	}
		  	    	// 刷新页面
		  	    	Ext.getCmp('tab-set-rule').getStore().reload();
		         	Ext.getCmp('tab-set-rule').getStore().removeAll();
	  	       	}
	  	   	});
		    // 关闭当前页面
			Ext.getCmp('replaceGoodsWin').close();
			// 关闭新增窗口页面
			if (Ext.getCmp('RulesAdd')!=null) {
				Ext.getCmp('RulesAdd').close();
			}
		}

		// ■ 替换商品名规则页面：删除按钮
	    if (button.id == 'replace_goods_delete') {
	    	if (getLockStatus()) {
				Share.ShowMessage('I0068');
				return;
			}
	    	var ruleID = 'replace_goods_hiddenFieldValue';
	    	var name = 'replaceGoodsWin';
	    	deleteRules(ruleID, name, RULE_TYPE_REPLACE_GOOD);
	    }

	    // ■ 替换商品名规则页面：取消按钮
	    if (button.id == 'replace_goods_cancel') {
	    	Ext.getCmp('replaceGoodsWin').close();
	    }

	    // ■ 替换客户规则页面：保存按钮
	    if (button.id == 'replace_customer_add') {
	    	if (getLockStatus()) {
				Share.ShowMessage('I0068');
				return;
			}
	    	// 验证页面是否有错误项
	 	   	var form = Ext.getCmp('replace_customer');
	 	    basicForm = form.getForm();
	 	    if (!basicForm.isValid()) {
   	        	return;
	 	    }
	 	    // 获取页面规则主信息区域所有项目值---------------
	 	    // 替换客户-有效范围
	 	    var replaceCustomerScopeFlag = Ext.getCmp('replace_customer_scopeFlag').getValue();	
	 	    // 替换客户-规则ID
	 	    var ruleId = Ext.getCmp('replace_customer_hiddenFieldValue').getValue();
	 	    // 替换客户-客户code
	 	    var replaceCustomerCustCode = Ext.getCmp('replace_customer_custCode').getRawValue();
	 	    // 替换客户-备注
	 	    var replaceCustomerRemark = Ext.getCmp('replace_customer_remarks').getValue();
	 	    // 不是全部客户有效时，进行客户存在性检查
	 	    if (replaceCustomerScopeFlag != '1') {
	 	    	if (!checkCustCode(replaceCustomerCustCode)) {
	 	    		Share.ShowMessage("I0014","客户代码和客户名称");
	 				Ext.getCmp('replace_customer_custCode').setValue('');
	 				Ext.getCmp('replace_customer_custName_chn').setValue('');
	 				return;
	 			}
	 	    }					   
	     
	 	    // 获取页面条件区域所有项目值---------------
	 	    var replaceCustomerCondition = Ext.getCmp("condition");
	 		// 获得doc_condition子容器数组			 
	 		var panelItems = replaceCustomerCondition.items;
	 		var replaceCustomerConditionString = '';
	 		var replaceCustomerCombo = '';
	 		var errorFlag = false;
	 		var containsFlag = false;
	 		var isDecimal = true;

	 		// 遍历得到下拉框的值
	 		for (var i = 0; i < panelItems.length - 1; i++) {
	 			// 取得第i个panel的第一个combo值
	 			var combo = panelItems.items[i].items.items[0];// 获得combo	
	 			var replaceCustomerCombo_tmp = combo.getValue();										
	 			// 取得第i个panel的第二个combo值
	 			var replaceCustomerCombo1 = panelItems.items[i].items.items[1];					
	 			var replaceCustomerCombo1_tmp = replaceCustomerCombo1.getValue();			
	 			// 取得第i个panel的条件值
	 			var replaceCustomerConditionValue = panelItems.items[i].items.items[2].getValue();
	 			
	 			// 检查与金额数量相关是否正确输入数字
				if(checkIsDecimal(replaceCustomerCombo_tmp, replaceCustomerConditionValue, i, panelItems) == false){
					isDecimal = false;
				}

		 		// 检查是否有必须项目为空
		 		if ((replaceCustomerCombo_tmp == null || replaceCustomerCombo_tmp == '') 
		 			&& ((replaceCustomerCombo1_tmp != null && replaceCustomerCombo1_tmp != '') 
		 				|| (replaceCustomerConditionValue != null && replaceCustomerConditionValue != '')
		 				)
		 			){
		 			Ext.getCmp(combo.getId()).markInvalid(Share.T('条件项目不能为空。'));
		 			errorFlag = true;
		 		}
		 		if ((replaceCustomerCombo1_tmp == null || replaceCustomerCombo1_tmp == '') 
		 			&& ((replaceCustomerConditionValue != null && replaceCustomerConditionValue != '') 
		 				|| (replaceCustomerCombo_tmp != null && replaceCustomerCombo_tmp != '')
		 				)
		 			){
		 			Ext.getCmp(replaceCustomerCombo1.getId()).markInvalid(Share.T('条件符号不能为空。'));
		 			errorFlag = true;
		 		}
		 		if ((replaceCustomerConditionValue == null || replaceCustomerConditionValue == '') 
		 			&& ((replaceCustomerCombo1_tmp != null && replaceCustomerCombo1_tmp != '') 
		 				|| (replaceCustomerCombo_tmp != null && replaceCustomerCombo_tmp != '')
		 				)
		 			){
		 			Ext.getCmp(panelItems.items[i].items.items[2].getId()).markInvalid(Share.T('条件值不能为空。'));
		 			errorFlag = true;
		 		}

		 		// 对数值型条件进行四舍五入
		 		replaceCustomerConditionValue = changeDecimal(replaceCustomerCombo_tmp, replaceCustomerConditionValue);
		 		
		 		// 拼接条件字符串
		 		if (replaceCustomerCombo_tmp != null && replaceCustomerCombo_tmp != '' && replaceCustomerCombo1_tmp != null && replaceCustomerCombo1_tmp != ''  && replaceCustomerConditionValue != null && replaceCustomerConditionValue != '') {
		 			// 获得单据状态条件数据
		 			replaceCustomerConditionString = replaceCustomerConditionString + replaceCustomerCombo_tmp + '&' + replaceCustomerCombo1_tmp + '&' + replaceCustomerConditionValue + '~~';
		 			replaceCustomerCombo += '~~' + replaceCustomerCombo_tmp;
		 			// 判断条件是否重复
					if (isContains(replaceCustomerConditionString, replaceCustomerCombo_tmp)) {
						Ext.getCmp(combo.getId()).markInvalid(Share.T('该项目重复指定，请确认。'));
						containsFlag = true;
					}
		 		}
	 		}
	 		// 如果页面上条件有填写不完整重复指定，报错
	 		if (errorFlag || containsFlag || !isDecimal) {
	 			return;
	 		}
	 		
	 		// 判断规则条件是否有包含关系
	 		if (!checkRuleIsRepeat(ruleId, replaceCustomerScopeFlag, 
	 				replaceCustomerCustCode, RULE_TYPE_REPLACE_CUSTOMER, replaceCustomerCombo)
	 			) {
	 			Share.ShowMessage("I0063","替换客户");
	 			return;
	 		}
	 		
	 		// 获取页面后处理区域所有项目值---------------
	 		var replaceFinalValue = Ext.getCmp('replace_customer_finalValue').getValue();
	 		
	 		// ---------------验证通过。开始新增或修改操作---------------
	 	    Share.AjaxRequest({
	 	    	url : ctx + '/saveRules', 
	 	    	showMsg : false, 
	 	    	params : {
	 	    		ruleBigType : 2,
	 	    		ruleId : ruleId, // 规则ID
	 	    		ruleType : RULE_TYPE_REPLACE_CUSTOMER, // 规则类型
	 	    		scopeFlag : replaceCustomerScopeFlag, // 有效范围
	 	    		custCode : replaceCustomerCustCode, // 客户Code
	 	    		m_remark : replaceCustomerRemark, // 备注
	 	    		customers : replaceFinalValue, // 替换后的值
	           	    condition : replaceCustomerConditionString // 条件字符串
	 	    	}, 
	 	    	callback : function(json) {
	 	    		if (json.resultcode == '0') {
	 	    			Share.ShowMessage("I0006","保存");
	 	    	   	} else {
	 	    	   		Share.ShowMessage("I0007","保存");
	 	    	   	}
	 	    		// 刷新页面
	 	    		Ext.getCmp('tab-set-rule').getStore().reload();
	 	    		Ext.getCmp('tab-set-rule').getStore().removeAll();
	 	    	}
	 	    });
	 	    // 关闭当前页面
	 	    Ext.getCmp('replaceCustomerWin').close();
	 	    // 关闭新增窗口页面
	 	    if (Ext.getCmp('RulesAdd') != null) {
	 	    	Ext.getCmp('RulesAdd').close();
	 	    }			    
	    }
   
	    // ■ 替换客户规则页面：删除按钮
	    if (button.id == 'replace_customer_delete') {
	    	if (getLockStatus()) {
				Share.ShowMessage('I0068');
				return;
			}
	    	var ruleID = 'replace_customer_hiddenFieldValue';
	    	var name = 'replaceCustomerWin';
	    	deleteRules(ruleID, name, RULE_TYPE_REPLACE_CUSTOMER);
	    }
	    // ■ 替换客户规则页面：取消按钮
	    if (button.id=='replace_customer_cancel') {
	    	Ext.getCmp('replaceCustomerWin').close();
	    }
    
	    // ■ 替换规格规则页面：保存按钮
	    if (button.id == 'replace_type_add') {
	    	if (getLockStatus()) {
				Share.ShowMessage('I0068');
				return;
			}
	    	// 验证页面是否有错误项
	    	var form = Ext.getCmp('replace_type');
	    	basicForm = form.getForm();
	        if (!basicForm.isValid()) {
	        	return;
	        }
	        
	        // 获取页面规则主信息区域所有项目值---------------
	        // 替换规格-有效范围
	        var replaceTypeScopeFlag = Ext.getCmp('replace_type_scopeFlag').getValue();
	        // 替换规格-规则ID
	        var ruleId = Ext.getCmp('replace_type_hiddenFieldValue').getValue();
	        // 替换规格-客户code
	        var replaceTypeCustCode = Ext.getCmp('replace_type_custCode').getRawValue();
	        // 替换规格-备注
	        var replaceTypeRemark = Ext.getCmp('replace_type_remarks').getValue();
	        // 不是全部客户有效时，进行客户存在性检查
	        if (replaceTypeScopeFlag != '1') {
			 	if (!checkCustCode(replaceTypeCustCode)) {
			 		Share.ShowMessage("I0014","客户代码和客户名称");
					Ext.getCmp('replace_type_custCode').setValue('');
					Ext.getCmp('replace_type_custName_chn').setValue('');
					return;
			 	}			 
	        }					   

	        // 获取页面条件区域所有项目值---------------
	        var replaceTypeCondition = Ext.getCmp("condition");
			// 获得doc_condition子容器数组
			var panelItems = replaceTypeCondition.items;
			var replaceTypeConditionString = '';
			var replaceTypeCombo = '';
			var errorFlag = false;
			var containsFlag = false;
			var isDecimal = true;

			// 遍历得到下拉框的值
			for (var i= 0; i < panelItems.length - 1; i++) {
				// 取得第i个panel的第一个combo值
				var combo = panelItems.items[i].items.items[0];// 获得combo
				var replaceTypeComboTmp = combo.getValue();
				// 取得第i个panel的第二个combo值
				var replaceTypeCombo1 = panelItems.items[i].items.items[1];
				var replaceTypeCombo1_tmp = replaceTypeCombo1.getValue();
				// 取得第i个panel的条件值
				var replaceTypeConditionValue = panelItems.items[i].items.items[2].getValue();
				// 检查与金额数量相关是否正确输入数字
				if(checkIsDecimal(replaceTypeComboTmp, replaceTypeConditionValue, i, panelItems) == false){
					isDecimal = false;
				}

				// 检查是否有必须项目为空
				if ((replaceTypeComboTmp == null || replaceTypeComboTmp == '') 
					&& ((replaceTypeCombo1_tmp != null && replaceTypeCombo1_tmp != '') 
						|| (replaceTypeConditionValue != null && replaceTypeConditionValue != '')
						)
					){
					Ext.getCmp(combo.getId()).markInvalid(Share.T('条件项目不能为空。'));
					errorFlag = true;
				}
				if ((replaceTypeCombo1_tmp == null || replaceTypeCombo1_tmp == '') 
					&& ((replaceTypeConditionValue != null && replaceTypeConditionValue != '') 
						|| (replaceTypeComboTmp != null && replaceTypeComboTmp != '')
						)
					){
					Ext.getCmp(replaceTypeCombo1.getId()).markInvalid(Share.T('条件符号不能为空。'));
					errorFlag = true;
				}
				if ((replaceTypeConditionValue == null || replaceTypeConditionValue == '') 
					&& ((replaceTypeCombo1_tmp != null && replaceTypeCombo1_tmp != '') 
						|| (replaceTypeComboTmp != null && replaceTypeComboTmp != '')
						)
					){
					Ext.getCmp(panelItems.items[i].items.items[2].getId()).markInvalid(Share.T('条件值不能为空。'));
					errorFlag = true;
				}
				// 对数值型条件进行四舍五入
				replaceTypeConditionValue = changeDecimal(replaceTypeComboTmp, replaceTypeConditionValue);

				// 拼接条件字符串
				if (replaceTypeComboTmp != null && replaceTypeComboTmp != '' && replaceTypeCombo1_tmp != null && replaceTypeCombo1_tmp != ''  && replaceTypeConditionValue != null && replaceTypeConditionValue != '') {
					// 获得单据状态条件数据
					replaceTypeConditionString = replaceTypeConditionString + replaceTypeComboTmp + '&' + replaceTypeCombo1_tmp + '&' + replaceTypeConditionValue + '~~';
					replaceTypeCombo += '~~' + replaceTypeComboTmp;
		 			// 判断条件是否重复
					if (isContains(replaceTypeConditionString, replaceTypeComboTmp)) {
						Ext.getCmp(combo.getId()).markInvalid(Share.T('该项目重复指定，请确认。'));
						containsFlag = true;
					}
				}
			}
			// 如果页面上条件有填写不完整重复指定，报错
			if (errorFlag || containsFlag || !isDecimal) {
				return;
			}
			
			// 判断规则条件是否有包含关系
			if (!checkRuleIsRepeat(ruleId, replaceTypeScopeFlag, replaceTypeCustCode, RULE_TYPE_REPLACE_TYPE, replaceTypeCombo)) {
				Share.ShowMessage("I0063","替换规格");
				return;				
			}
			
			// 获取页面后处理区域所有项目值---------------
			var replaceFinalValue = Ext.getCmp('replace_type_finalValue').getValue();
			
			// ---------------验证通过。开始新增或修改操作---------------
			Share.AjaxRequest({
				url : ctx + '/saveRules',  
				showMsg : false, 
				params : {
					ruleBigType : 2,
					ruleId : ruleId, // 规则ID
					ruleType : RULE_TYPE_REPLACE_TYPE, // 规则类型
					scopeFlag : replaceTypeScopeFlag, // 有效范围
					custCode : replaceTypeCustCode, // 客户Code
					m_remark : replaceTypeRemark, // 备注
					type : replaceFinalValue, // 替换后的值
			   	    condition : replaceTypeConditionString // 条件字符串
				}, 
				callback : function(json) {
					if (json.resultcode == '0') {       	    		   
						Share.ShowMessage("I0006","保存");
				 	} else {
				 		Share.ShowMessage("I0007","保存");
				 	}
				 	// 刷新页面
				 	Ext.getCmp('tab-set-rule').getStore().reload();
					Ext.getCmp('tab-set-rule').getStore().removeAll();
				}
			});
			
			// 关闭当前页面
			Ext.getCmp('replaceTypeWin').close();
			// 关闭新增窗口页面
			if (Ext.getCmp('RulesAdd') != null) {
				Ext.getCmp('RulesAdd').close();
			}
	    }
	   
	    // ■ 替换规格页面：删除按钮
	    if (button.id == 'replace_type_delete') {
	    	if (getLockStatus()) {
				Share.ShowMessage('I0068');
				return;
			}
	    	var ruleID = 'replace_type_hiddenFieldValue';
	    	var name = 'replaceTypeWin';
	    	deleteRules(ruleID, name, RULE_TYPE_REPLACE_TYPE);
	    }

	    // ■ 替换规格页面：取消按钮
	    if (button.id == 'replace_type_cancel'){
	    	Ext.getCmp('replaceTypeWin').close();
	    }

	    // ■ 替换单位规则页面：保存按钮
	    if (button.id == 'replace_unit_add') {
	    	if (getLockStatus()) {
				Share.ShowMessage('I0068');
				return;
			}
	    	// 验证页面是否有错误项
		    var form = Ext.getCmp('replace_unit');
		    basicForm = form.getForm();
		    if (!basicForm.isValid()) {
		    	return;
		    }

		    // 获取页面规则主信息区域所有项目值---------------
		    // 替换单位-有效范围
		    var replaceUnitScope = Ext.getCmp('replace_unit_scopeFlag').getValue();
		    // 替换单位-规则ID
		    var ruleId = Ext.getCmp('replace_unit_hiddenFieldValue').getValue();
		    // 替换单位
		    var replaceColumn = 'D_GOODS_UNIT';
		    // 替换单位-客户code
		    var replaceUnitCustCode = Ext.getCmp('replace_unit_custCode').getRawValue();
		    // 替换单位-备注
		    var replaceUnitRemark = Ext.getCmp('replace_unit_remarks').getValue();
		    // 不是全部客户有效时，进行客户存在性检查
		    if (replaceUnitScope != '1') {
		    	if (!checkCustCode(replaceUnitCustCode)) {
		    		Share.ShowMessage("I0014","客户代码和客户名称");
					Ext.getCmp('replace_unit_custCode').setValue('');
					Ext.getCmp('replace_unit_custName_chn').setValue('');
					return;
		    	}
		    }
		    // 获取页面条件区域所有项目值---------------
		    var replaceUnitCondition = Ext.getCmp("condition");
			// 获得doc_condition子容器数组
			var panelItems = replaceUnitCondition.items;
			var replaceUnitConditionString = '';
			var replaceUnitCombo = '';
			var errorFlag = false;
			var containsFlag = false;
			var isDecimal = true;
			
			// 遍历得到下拉框的值
			for (var i = 0; i < panelItems.length - 1; i++) {
				// 取得第i个panel的第一个combo值
				var combo = panelItems.items[i].items.items[0];// 获得combo	
				var replaceUnitComboTmp = combo.getValue();										
				// 取得第i个panel的第二个combo值
				var replaceUnitCombo1 = panelItems.items[i].items.items[1];					
				var replaceUnitCombo1_tmp = replaceUnitCombo1.getValue();			
				// 取得第i个panel的条件值
				var replaceUnitConditionValue = panelItems.items[i].items.items[2].getValue();

				// 检查与金额数量相关是否正确输入数字
				if(checkIsDecimal(replaceUnitComboTmp, replaceUnitConditionValue, i, panelItems) == false){
					isDecimal = false;
				}

				// 检查是否有必须项目为空
				if ((replaceUnitComboTmp == null || replaceUnitComboTmp == '') 
					&& ((replaceUnitCombo1_tmp != null && replaceUnitCombo1_tmp != '') 
						|| (replaceUnitConditionValue != null && replaceUnitConditionValue != '')
						)
					){
					Ext.getCmp(combo.getId()).markInvalid(Share.T('条件项目不能为空。'));
					errorFlag = true;
				}
				if ((replaceUnitCombo1_tmp == null || replaceUnitCombo1_tmp == '') 
					&& ((replaceUnitConditionValue != null && replaceUnitConditionValue != '') 
						|| (replaceUnitComboTmp != null && replaceUnitComboTmp != '')
						)
					){
					Ext.getCmp(replaceUnitCombo1.getId()).markInvalid(Share.T('条件符号不能为空。'));
					errorFlag = true;
				}
				if ((replaceUnitConditionValue == null || replaceUnitConditionValue == '') 
					&& ((replaceUnitCombo1_tmp != null && replaceUnitCombo1_tmp != '') 
						|| (replaceUnitComboTmp != null && replaceUnitComboTmp != '')
						)
					){
					Ext.getCmp(panelItems.items[i].items.items[2].getId()).markInvalid(Share.T('条件值不能为空。'));
					errorFlag = true;
				}
				// 对数值型条件进行四舍五入
				replaceUnitConditionValue = changeDecimal(replaceUnitComboTmp, replaceUnitConditionValue);
				// 拼接条件字符串
				if (replaceUnitComboTmp != null && replaceUnitComboTmp != '' && replaceUnitCombo1_tmp != null && replaceUnitCombo1_tmp != ''  && replaceUnitConditionValue != null && replaceUnitConditionValue != '') {
			  		// 获得单据状态条件数据
					replaceUnitConditionString = replaceUnitConditionString + replaceUnitComboTmp + '&' + replaceUnitCombo1_tmp + '&' + replaceUnitConditionValue + '~~';
					replaceUnitCombo += '~~' + replaceUnitComboTmp;
					// 判断条件是否重复
					if (isContains(replaceUnitConditionString, replaceUnitComboTmp)) {
						Ext.getCmp(combo.getId()).markInvalid(Share.T('该项目重复指定，请确认。'));
						containsFlag = true;
					}
				}
			}
			// 如果页面上条件有填写不完整重复指定，报错
			if (errorFlag || containsFlag || !isDecimal) {
				return;
			}
			// 判断规则条件是否有包含关系
			if (!checkRuleIsRepeat(ruleId, replaceUnitScope, replaceUnitCustCode, RULE_TYPE_REPLACE_UNIT, replaceUnitCombo)) {
				Share.ShowMessage("I0063","替换单位");
				return;
			}

			// 获取页面后处理区域所有项目值---------------
		    // 替换前单位
			var replaceUnitBefore = Ext.getCmp('replace_unit_before').getValue();
			// 替换率
			var replaceUnitRate = Ext.getCmp('replace_unit_rate').getValue();
			// 替换后单位
			var replaceUnitAfter = Ext.getCmp('replace_unit_after').getValue();

			// ---------------验证通过。开始新增或修改操作---------------
		    Share.AjaxRequest({
		    	url : ctx + '/saveRules',  
		    	showMsg : false, 
		    	params : {
		    		ruleBigType : 3,
		    		ruleType : RULE_TYPE_REPLACE_UNIT, // 规则类型
              		ruleId : ruleId, // 规则ID
              		scopeFlag : replaceUnitScope, // 有效范围
              		custCode : replaceUnitCustCode, // 客户Code
              		m_remark : replaceUnitRemark, // 备注
             	    replaceColumn : replaceColumn, // 替换项目
             	    unitBefore : replaceUnitBefore, // 替换前
             	    replaceRate : replaceUnitRate, // 替换率
             	    unitAfter : replaceUnitAfter, // 替换后
             	    condition : replaceUnitConditionString // 条件字符串
		    	}, 
		    	callback : function(json) {
		    		if (json.resultcode == '0') {
		    			Share.ShowMessage("I0006","保存");
		    		} else {
		    			Share.ShowMessage("I0007","保存");
		    		}
		    		// 刷新页面
		    		Ext.getCmp('tab-set-rule').getStore().reload();
		    		Ext.getCmp('tab-set-rule').getStore().removeAll();
		    	}
		    });
		    // 关闭当前页面
		    Ext.getCmp('replaceUnitWin').close();
		    // 关闭新增窗口页面
		    if (Ext.getCmp('RulesAdd') != null) {
		    	Ext.getCmp('RulesAdd').close();
		    }			    
	    }
		   
	    // ■ 替换单位规则页面：删除按钮
	    if (button.id == 'replace_unit_delete') {
	    	if (getLockStatus()) {
				Share.ShowMessage('I0068');
				return;
			}
	    	var ruleID = 'replace_unit_hiddenFieldValue';
	    	var name = 'replaceUnitWin';
	    	deleteRules(ruleID, name, RULE_TYPE_REPLACE_UNIT);
	    }
	    // ■ 替换单位规则页面：取消按钮
	    if (button.id == 'replace_unit_cancel') {
	    	Ext.getCmp('replaceUnitWin').close();
	    }
	}, 
	init : function(application) {
		this.control({
			"button" : {
				click : this.onButtonClick
			}
		});
	}
});

// ======================以下开始为工具方法========================

/***********************************************
* 验证规则条件是否有包含关系
* @param rule_id, 判定增加修改用（如果有值，标识修改）
* @param scopeFlag，规则适用范围
* @param cust_code，客户Code
* @param rule_type，规则类型
* @param condition_combo，条件
* @return isRuleIsRepeat 验证结果
************************************************/
function checkRuleIsRepeat(rule_id, scopeFlag, cust_code, rule_type, condition_combo) {
	var isRuleIsRepeat = false;
	Ext.Ajax.request({
	    url : ctx + "/checkRuleIsRepeat", 
	    async : false, 
	    params : {
	    	rule_id : rule_id, 
	    	scopeFlag : scopeFlag, 
	    	cust_code : cust_code, 
	    	rule_type : rule_type, 
	    	condition_combo : condition_combo
	    }, 
	    success : function(response, options) {
	        if (response.responseText == 'true') {
	        	isRuleIsRepeat = true;
	        } else {
	        	isRuleIsRepeat = false;
	        }
	    }
	});
	return isRuleIsRepeat;
}

/********************************
* 验证当前客户是否已经添加过折扣或者返利规则
* @param rule_type，规则类型
* @param scopeFlag，规则适用范围
* @param cust_code，客户Code
* @return checkRepeat 验证结果
********************************/
function checkRepeat(ruleType, scopeFlag, custCode,ruleId) {
	var checkRepeat = false;
	Ext.Ajax.request({
	    url : ctx + "/checkDiscountReturnRepeat", 
	    async : false, 
	    params : {
	    	ruleType : ruleType, 
	    	scopeFlag : scopeFlag, 
	    	custCode : custCode,
	    	ruleId:ruleId
	    }, 
	    success : function(response, options) {
	        if (response.responseText == 'true') {
	        	checkRepeat = true;
	        } else {
	        	checkRepeat = false;
	        }
	    }
	});
	return checkRepeat;
}

/***************************
* 客户存在性Check
* @param custCode：客户Code
* @return checkCustCodeFlag 反悔客户是否存在
***************************/
function checkCustCode(custCode) {
	var checkCustCodeFlag = false;
	Ext.Ajax.request({
	    url : ctx + '/checkCustCode',  
	    params : {
	    	custCode : custCode
	    }, 
	    async : false, 
	    success	: function (response, options) {
            if (response.responseText == 'true') { // 客户名称存在
            	checkCustCodeFlag = true;
            } else {
            	checkCustCodeFlag = false;
            }
	    }
	});	
	return checkCustCodeFlag;
}

/************************************************
* 验证原字符串是否包含两个以上字符串
* @param string:原始字符串
* @param substr:子字符串
* @return 放回结果：是否包含子字符串。True:包含；False：不包含
*************************************************/
function isContains(string, substr) {
	var num = 0;
	var startChar = substr.substring(0, 1);
	var strLen = substr.length;
	for (var index = 0; index < string.length - strLen + 1; index++) {
		if (string.charAt(index) == startChar) {// 如果匹配起始字符, 开始查找
			if (string.substring(index, index+strLen) == substr) {// 如果从j开始的字符与str匹配
				num ++;
				continue;
			}   
		}
		if (num > 1) {
			return true;
		}
	}
	return false;
}

/************************************
 * 判断税率、税额、数量、单价、金额、折扣金额、折扣税额、折扣税率 是否输入为数值
 * @param condition
 * @param value
 ************************************/
function checkIsDecimal(condition, value, i, panelItems){
	if(condition == 'D_TAX_RATE' || condition == 'D_TAX_AMOUNT' || condition == 'D_QUANTITY' 
	|| condition == 'D_PRICE_CUR' || condition == 'D_AMOUNT_CUR' || condition == 'D_DISCOUNT_SUM'
	|| condition == 'D_DISCOUNT_TAX'|| condition == 'D_DISCOUNT_RATE'){
		var reg = /^[-+]?\d+(\.\d+)?$/;
		if(reg.test(value) == false){
			panelItems.items[i].items.items[2].markInvalid(Share.T(Share.T('该项目无效。')));
			return false;
		}else{
			return true;
		}
	}
}

/************************************
 * 转换税率、税额、数量、单价、金额、折扣金额、折扣税额、折扣税率 进行四舍五入
 * @param condition
 * @param value
 ************************************/
function changeDecimal(condition,  value){
	if(condition == 'D_TAX_RATE' || condition == 'D_QUANTITY' 
	|| condition == 'D_PRICE_CUR'  || condition == 'D_DISCOUNT_RATE'){
		value = parseFloat(value).toFixed(6);
		return value;
	}else if(condition == 'D_TAX_AMOUNT' || condition == 'D_DISCOUNT_TAX' 
			|| condition == 'D_DISCOUNT_SUM' || condition == 'D_AMOUNT_CUR'){
		value = parseFloat(value).toFixed(2);
	   	return value;
	}else{
		return value;
	}
}

/*******************************
* 规则一览页面往规则修改页面迁移共通方法
* @param row: 当前选中的一行规则数据
*******************************/
function editRule(row) {
	// 原始规则信息
	var type = row.get('type');// 规则类型
	var rule_id = row.get('rule_id');// 规则ID
	var detail_id = row.get('rule_detail_id');// 规则明细ID
	var scope_flag = parseInt(row.get('scope_flag_hidden'));// 规则有效范围
	var cust_code = row.get('cust_code');// 客户Code
	var cust_name_chn = row.get('cust_name_chn');// 客户名称
	var remark = row.get('remark');// 备注
	// 根据选中的规则类型，跳转到不同的规则修改页面。
	// 退货规则
	if (type == RULE_TYPE_RETURN ) {
		// 建立窗口
		var t = Ext.create('widget.returnWin');
		
		// 设置主信息区域信息------------------------------
		Ext.getCmp('return_rule_id').setValue(rule_id);	// 规则ID
		Ext.getCmp('return_rule_detail_id').setText(detail_id);	// 规则明细ID
		Ext.getCmp('return_scopeFlag').setValue(scope_flag.toString()); // 有效范围
		Ext.getCmp('return_scopeFlag').disable();//设置有效范围不可用
		Ext.getCmp('return_cust_code').setValue(cust_code); // 客户Code
		Ext.getCmp('return_cust_code').disable();//设置客户Code不可用
		Ext.getCmp('return_cust_name').setValue(cust_name_chn); // 客户名称
		Ext.getCmp('return_cust_name').disable();//设置客户名称不可用
		Ext.getCmp('return_remark').setValue(remark); // 备注
		
		// 设置条件区域信息------------------------------
		// 获得条件信息
		Share.AjaxRequest({
			url : ctx + '/getRuleConditions',  // FileUploadController.java
			showMsg : false, 
			params : {
				rule_id : rule_id
			}, 
			callback : function(json) {
            	for (var i = 0; i < (json.length) / 3 - 1; i++) {         		  
            		   Ext.getCmp('return_add').handler();           		   
            		}
            	for (var i = 0, j = 0; i < json.length; i++, j++) {	
            		Ext.getCmp('return_combo' + (j + 1)).setValue(json[i]);
            		i += 2;
            	}
			}
		}); 

		// 获取后处理区域信息------------------------------
		getAdjustAfterRule(rule_id, "return_conversion");
		// 显示修改窗口
		Share.showWindow(t, true);
	}
	// 折扣规则修改页面
	else if (type == RULE_TYPE_DISCOUN ) {
		// 建立窗口
		var t = Ext.create('widget.discounWin');
		
		// 设置主信息区域信息------------------------------
		Ext.getCmp('discoun_rule_id').setValue(rule_id); // 规则ID
		Ext.getCmp('discoun_rule_detail_id').setText(detail_id); // 规则明细ID
		Ext.getCmp('discoun_scopeFlag').setValue(scope_flag.toString()); // 有效范围
		Ext.getCmp('discoun_scopeFlag').disable();//设置有效范围不可用
		Ext.getCmp('discoun_cust_code').setValue(cust_code); // 客户Code
		Ext.getCmp('discoun_cust_code').disable();//设置客户Code不可用
		Ext.getCmp('discoun_cust_name').setValue(cust_name_chn); // 客户名称
		Ext.getCmp('discoun_cust_name').disable();//设置客户名称不可用
		Ext.getCmp('discoun_remark').setValue(remark); // 备注
		// 取得折扣上限
		Share.AjaxRequest({
			url : ctx + '/getDiscoun', 
			showMsg : false, 
			params : {
            	rule_id : rule_id
            }, 
            callback : function(json) {
            	Ext.getCmp('discoun_limit').setValue(json.DISCOUNT_LIMIT*100);
            }
		});
		
		// 设置条件区域信息------------------------------
		// 获得条件信息
		Share.AjaxRequest({
			url : ctx + '/getRuleConditions',  // FileUploadController.java
			showMsg : false, 
			params : {
				rule_id : rule_id
			}, 
			callback : function(json) {
				for (var i = 0; i < (json.length) / 3 - 1; i++) {         		  
					Ext.getCmp('discoun_add').handler();           		   
				}
				for (var i = 0, j = 0; i < json.length; i++, j++) {	
					Ext.getCmp('discoun_combo' + (j + 1)).setValue(json[i]);
					i += 2;
				}
			}
		}); 
		
		// 获取后处理区域信息------------------------------
		Share.AjaxRequest({
			url : ctx + '/getAdjustAfterRule', 
			showMsg : false, 
		    params : {
		    	ruleId : rule_id
		    }, 
		    callback : function(json) {
		    	for (var i = 0; i < json.length; i++) {
		    		if (json[i].ADJUST_COLUMN == 'D_GOODS_NAME') {// 商品名
		    			Ext.getCmp('discoun_conversion_combo01').setValue(json[i].ADJUST_TYPE);
			    		if (json[i].ADJUST_TYPE == '07') {
			    			Ext.getCmp('discoun_conversion_text01').setValue(json[i].FIXED_TEXT);	    				
			    		}
			    	}
		    		if (json[i].ADJUST_COLUMN == 'D_SPEC') {// 规格
		    			Ext.getCmp('discoun_conversion_combo02').setValue(json[i].ADJUST_TYPE);
		    			if (json[i].ADJUST_TYPE == '07') {
		    				Ext.getCmp('discoun_conversion_text02').setValue(json[i].FIXED_TEXT);	    				
		    			}
		    		}
		    		if (json[i].ADJUST_COLUMN == 'D_GOODS_UNIT') {// 单位
		    			Ext.getCmp('discoun_conversion_combo03').setValue(json[i].ADJUST_TYPE);
		    			if (json[i].ADJUST_TYPE == '07') {
		    				Ext.getCmp('discoun_conversion_text03').setValue(json[i].FIXED_TEXT);	    				
		    			}
		    		}
		    		if (json[i].ADJUST_COLUMN == 'H_REMARK') {// 备注
		    			Ext.getCmp('discoun_conversion_combo04').setValue(json[i].ADJUST_TYPE);
		    			if (json[i].ADJUST_TYPE == '07') {
		    				Ext.getCmp('discoun_conversion_text04').setValue(json[i].FIXED_TEXT);	    				
		    			}
		    		}
		    		if (json[i].ADJUST_COLUMN == 'D_REMARK') {// 摘要
		    			Ext.getCmp('discoun_conversion_combo05').setValue(json[i].ADJUST_TYPE);
		    			if (json[i].ADJUST_TYPE == '07') {
		    				Ext.getCmp('discoun_conversion_text05').setValue(json[i].FIXED_TEXT);	    				
		    			}
		    		}
		    	}
		    }
		});

		// 显示修改窗口
	    Share.showWindow(t, true);
	}
	// 返利规则修改页面
	else if (type == RULE_TYPE_REBATE ) {
		// 建立窗口
		var t = Ext.create('widget.rebateWin');
		
		// 设置主信息区域信息------------------------------
		Ext.getCmp('rebate_rule_id').setValue(rule_id); // 规则ID
		Ext.getCmp('rebate_rule_detail_id').setText(detail_id); // 规则明细ID
		Ext.getCmp('rebate_scopeFlag').setValue(scope_flag.toString()); // 有效范围
		Ext.getCmp('rebate_scopeFlag').disable();//设置有效范围不可用
		Ext.getCmp('rebate_cust_code').setValue(cust_code); // 客户Code
		Ext.getCmp('rebate_cust_code').disable();//设置客户Code不可用
		Ext.getCmp('rebate_cust_name').setValue(cust_name_chn); // 客户名称
		Ext.getCmp('rebate_cust_name').disable();//设置客户名称不可用
		Ext.getCmp('rebate_remark').setValue(remark); // 备注
		// 获取其他返利数据信息
		Share.AjaxRequest({
			url : ctx + '/getRebate', 
			showMsg : false, 
			params : {
            	rule_id : rule_id
            }, 
            callback : function(json) {
            	Ext.getCmp('rebate_rebateTotal').setValue(json.REBATE_TOTAL); // 返利总额
            	Ext.getCmp('rebate_priceWay').setValue(json.PRICE_WAY== 1?true:false); // 
            	Ext.getCmp('rebate_start').setValue(new Date(json.TIME_START)); // 开始日
            	Ext.getCmp('rebate_end').setValue(new Date(json.TIME_END)); // 结束日
            	Ext.getCmp('rebate_rate').setValue(json.REBATE_RATE*100); // 返利率
            	Ext.getCmp('rebate_rebateBalance').setText(json.REBATE_BALANCE); // 剩余金额
            }
		});
		
		// 设置条件区域信息------------------------------
		// 获得条件信息
		Share.AjaxRequest({
 		   	url : ctx + '/getRuleConditions', 
 		   	showMsg : false, 
 		   	params : {
        	   rule_id : rule_id
           	}, 
           	callback : function(json) {
            	for (var i = 0; i < (json.length) / 3 - 1; i++){
           		   Ext.getCmp('rebate_add').handler();           		   
            	}
            	for (var i = 0, j = 0; i < json.length; i++, j++){
            		Ext.getCmp('rebate_combo' + (j+1)).setValue(json[i]);
            		Ext.getCmp('rebate_combo2' + (j + 1)).setValue(json[i + 1]);
            		Ext.getCmp('rebate_text' + (j + 1)).setValue(json[i + 2]);
            		i = i + 2;
            	}
           	}
		}); 

		// 获取后处理区域信息------------------------------
		getAdjustAfterRule(rule_id, "rebate_conversion");
		// 显示修改窗口
		Share.showWindow(t, true);
	}
	// 拆分规则修改页面
	else if (type == RULE_TYPE_SPLIT ) {
		// 建立窗口
		var t = Ext.create('widget.splitWin');
		// 设置主信息区域信息------------------------------
		Ext.getCmp('split_rule_id').setValue(rule_id); // 规则ID
		Ext.getCmp('split_rule_detail_id').setText(detail_id); // 规则明细ID
		Ext.getCmp('split_scopeFlag').setValue(scope_flag.toString()); // 有效范围
		Ext.getCmp('split_scopeFlag').disable();//设置有小范围不可用
		Ext.getCmp('split_cust_code').setValue(cust_code); // 客户Code
		Ext.getCmp('split_cust_code').disable();//设置客户Code不可用
		Ext.getCmp('split_cust_name').setValue(cust_name_chn); // 客户名称
		Ext.getCmp('split_cust_name').disable();//设置客户名称不可用
		Ext.getCmp('split_remark').setValue(remark); // 备注
		
		// 设置条件区域信息------------------------------
		Share.AjaxRequest({
			url : ctx + '/getRuleConditions', 
			showMsg : false, 
			params : {
				rule_id:rule_id
			}, 
			callback : function(json) {
				for (var i = 0; i < (json.length) / 3 - 1; i++) {
					Ext.getCmp('split_condition_add').handler();
				}
				for (var i = 0, j = 0; i < json.length; i++, j++){
					Ext.getCmp('split_condition_project' + (j + 1)).setValue(json[i]);
					Ext.getCmp('split_condition_choice' + (j + 1)).setValue(json[i + 1]);
					Ext.getCmp('split_condition_value' + (j + 1)).setValue(json[i + 2]);
					i = i + 2;
				}
			}
		});
		if(Ext.getCmp('split_scopeFlag').getValue()!='2'){
		// 获取后处理区域信息------------------------------
		Ext.Ajax.request({
			url : ctx + '/getSplitWay', 
			showMsg : false, 
			params : {
				rule_id : rule_id
			}, 
			success : function(response, options)  {
				var json = Ext.decode(response.responseText);
				if (json.SPLIT_TYPE==0) {
					Ext.getCmp('largest_amount').setValue('0');
					Ext.getCmp('largest_amount_text').setValue(json.TOP_AMOUNT);
				} else {
					Ext.getCmp('fixed_ratio').setValue('1');
					Ext.getCmp('fixed_ratio_text1').setValue(json.SPLIT_RATE_1);
					Ext.getCmp('fixed_ratio_text2').setValue(json.SPLIT_RATE_2);
					Ext.getCmp('fixed_ratio_text3').setValue(json.SPLIT_RATE_3);
					Ext.getCmp('fixed_ratio_text4').setValue(json.SPLIT_RATE_4);
					Ext.getCmp('fixed_ratio_text5').setValue(json.SPLIT_RATE_5);
				}
			}
		});
	}
		Share.AjaxRequest({
			url : ctx + '/getAdjustAfterRule', 
			showMsg : false, 
		    params : {
		    	ruleId : rule_id
		    }, 
		    callback : function(json) {
		    	for (var i = 0 ;i < json.length; i++) {
		    		if (json[i].ADJUST_COLUMN == 'D_QUANTITY') {// 数量
		    			Ext.getCmp('split_conversion_combo01').setValue('06');
		    			if (json[i].ADJUST_TYPE == '06') {
		    				Ext.getCmp('split_conversion_combo02').setValue('00');
		    			}
		    		}
		    	}
		    }
		});
		
		// 显示修改窗口
		Share.showWindow(t, true);
	}
	// 发票分组规则修改页面
	else if (type == RULE_TYPE_MERGE ) {
		// 建立窗口
		var t = Ext.create('widget.mergeWin');
		// 设置主信息区域信息------------------------------
		Ext.getCmp('merge_rule_id').setValue(rule_id); // 规则ID
		Ext.getCmp('merge_rule_detail_id').setText(detail_id); // 规则明细ID
		Ext.getCmp('merge_scopeFlag').setValue(scope_flag.toString()); // 有效范围
		Ext.getCmp('merge_scopeFlag').disable();//设置有效范围不可用
		Ext.getCmp('merge_cust_code').setValue(cust_code); // 客户Code
		Ext.getCmp('merge_cust_code').disable();//设置客户Code不可用
	    Ext.getCmp('merge_cust_name').setValue(cust_name_chn); // 客户名称
	    Ext.getCmp('merge_cust_name').disable();//设置客户名称不可用
	    Ext.getCmp('merge_remark').setValue(remark); // 备注
	    
	    // 设置条件区域信息------------------------------
	    Share.AjaxRequest({
	    	url : ctx + '/getRuleConditions', 
	    	showMsg : false, 
	    	params : {
	    		rule_id : rule_id
	    	}, 
	    	callback : function(json) {
	    		for (var i = 0; i < (json.length) / 3 - 1; i++){         		  
	    			Ext.getCmp('merge_condition_add').handler(); 
	    		}
	    		for (var i = 0, j = 0; i < json.length; i++, j++){
	    			Ext.getCmp('merge_combo' + (j + 1)).setValue(json[i]);
	    			i = i + 2;
	    		}
	    	}
	    });
	    
	    // 获取后处理区域信息------------------------------
	   	getAdjustAfterRule(rule_id, "merge_conversion");
	   	
	   	// 显示修改窗口
		Share.showWindow(t, true);
	} 
	// 合并明细修改页面
	else if (type == RULE_TYPE_WITHDETAILS ) {
		// 建立窗口
		var t = Ext.create('widget.withdetailsWin');
		
		// 设置主信息区域信息------------------------------
		Ext.getCmp('withdetails_rule_id').setValue(rule_id); // 规则ID
		Ext.getCmp('withdetails_rule_detail_id').setText(detail_id); // 规则明细ID
		Ext.getCmp('withdetails_scopeFlag').setValue(scope_flag.toString()); // 有效范围
		Ext.getCmp('withdetails_scopeFlag').disable();// 设置有效范围不可用
		Ext.getCmp('withdetails_cust_code').setValue(cust_code); // 客户Code
		Ext.getCmp('withdetails_cust_code').disable();// 设置客户Code不可用
		Ext.getCmp('withdetails_cust_name').setValue(cust_name_chn); // 客户名称
		Ext.getCmp('withdetails_cust_name').disable();// 设置客户名称不可用
	    Ext.getCmp('withdetails_remark').setValue(remark); // 备注
	    
	    // 设置条件区域信息------------------------------
	    Share.AjaxRequest({
		    url : ctx + '/getRuleConditions', 
		    showMsg : false, 
		    params : {
		    	rule_id : rule_id
	        }, 
	        callback : function(json) { 
	        	for (var i = 0; i < (json.length) / 3 - 1; i++) {
	     		   	Ext.getCmp('withdetails_condition_add').handler(); 
	        	}
	        	for (var i = 0, j = 0; i < json.length; i++, j++){
	        		Ext.getCmp('withdetails_combo' + (j + 1)).setValue(json[i]);
	 		        i = i + 2;
	        	}
	        }
	    });
	    
	    // 获取后处理区域信息------------------------------
	    getAdjustAfterRule(rule_id, "withdetails_conversion");
	    
	    // 显示修改窗口
		Share.showWindow(t, true);
	} 
	// 替换商品名规则修改页面
	else if (type == RULE_TYPE_REPLACE_GOOD ) {
		// 建立窗口
	    var t = Ext.create('widget.replaceGoodWin');
	    
	    // 设置主信息区域信息------------------------------
	    Ext.getCmp('replace_goods_hiddenFieldValue').setValue(rule_id); // 规则ID
	    Ext.getCmp('replace_goods_ruleId').setText(detail_id); // 规则明细ID
	    Ext.getCmp('replace_goods_scopeFlag').setValue(scope_flag.toString()); // 有效范围
	    Ext.getCmp('replace_goods_scopeFlag').disable();// 设置有效范围不可用
	    Ext.getCmp('replace_goods_custCode').setValue(cust_code); // 客户Code
	    Ext.getCmp('replace_goods_custCode').disable();// 设置客户Code不可用
	    Ext.getCmp('replace_goods_custName_chn').setValue(cust_name_chn); // 客户名称
	    Ext.getCmp('replace_goods_custName_chn').disable();// 设置客户名称不可用
	    Ext.getCmp('replace_goods_remarks').setValue(remark); // 备注
	    
	    // 设置条件区域信息------------------------------
	    Share.AjaxRequest({
			url : ctx + '/getRuleConditions', 
			params : {
				rule_id : rule_id
			}, 
			callback : function(json) {
				for (var i = 0; i < (json.length) / 3 - 1; i++) {
					Ext.getCmp('replaceGoods_condition_add').handler();
				}
				for (var i=0, j=0;i<json.length;i++, j++) {
					Ext.getCmp('replace_goods_mainCondition' + (j + 1)).setValue(json[i]);
					Ext.getCmp('relace_goods_conditionChoice' + (j + 1)).setValue(json[i + 1]);
					Ext.getCmp('replace_goods_conditionValue' + (j + 1)).setValue(json[i + 2]);
					i = i + 2;
				}
			}
		});
	    if(Ext.getCmp('replace_goods_scopeFlag').getValue() !='2'){
		    // 获取后处理区域信息------------------------------
		   Share.AjaxRequest({
				url : ctx + '/getReplaceRule', 
				params : {
					rule_id : rule_id
				}, 
				callback : function(json) {
					Ext.getCmp('replace_goods_finalValue').setValue(json[0].REPLACE_TEXT);
				}
		    });
	    }
	   
	   // 显示修改窗口
	   Share.showWindow(t, true); 
	}
	// 替换客户名规则修改页面
	else if (type == RULE_TYPE_REPLACE_CUSTOMER ) {
		// 建立窗口
		var t = Ext.create('widget.replaceCustomerWin');
		
		// 设置主信息区域信息------------------------------
		Ext.getCmp('replace_customer_hiddenFieldValue').setValue(rule_id); // 规则ID
		Ext.getCmp('replace_customer_ruleId').setText(detail_id); // 规则明细ID
		Ext.getCmp('replace_customer_scopeFlag').setValue(scope_flag.toString()); // 有效范围
		Ext.getCmp('replace_customer_scopeFlag').disable();//设置有效范围不可用
		Ext.getCmp('replace_customer_custCode').setValue(cust_code); // 客户Code
		Ext.getCmp('replace_customer_custCode').disable();// 设置客户Code不可用
		Ext.getCmp('replace_customer_custName_chn').setValue(cust_name_chn);// 客户名称
		Ext.getCmp('replace_customer_custName_chn').disable();// 设置客户名称不可用
		Ext.getCmp('replace_customer_remarks').setValue(remark); // 备注
		
		// 设置条件区域信息------------------------------
		Share.AjaxRequest({
			url : ctx + '/getRuleConditions', 
			params : {
				rule_id : rule_id
			}, 
			callback : function(json) {
				for (var i = 0; i < (json.length) / 3 - 1; i++) {
					Ext.getCmp('replaceCustomer_condition_add').handler();
				}
				for (var i = 0, j = 0; i < json.length; i++, j++) {
					Ext.getCmp('replace_customer_mainCondition' + (j + 1)).setValue(json[i]);
					Ext.getCmp('relace_customer_conditionChoice' + (j + 1)).setValue(json[i + 1]);
					Ext.getCmp('replace_customer_conditionValue' + (j + 1)).setValue(json[i + 2]);
					i = i + 2;
				}
			}
		});
		if(Ext.getCmp('replace_customer_scopeFlag').getValue() != '2'){
			// 获取后处理区域信息------------------------------
			Share.AjaxRequest({
				url : ctx + '/getReplaceRule', 
				params : {
					rule_id : rule_id
				}, 
				callback : function(json) {
					Ext.getCmp('replace_customer_finalValue').setValue(json[0].REPLACE_TEXT);
				}
			});
		}
		// 显示修改窗口
		Share.showWindow(t, true);
	}
	// 替换单位规则修改页面
	else if (type == RULE_TYPE_REPLACE_UNIT ) {
		// 建立窗口
		var t = Ext.create('widget.replaceUnitWin');

		// 设置主信息区域信息------------------------------
		Ext.getCmp('replace_unit_hiddenFieldValue').setValue(rule_id);// 规则ID
		Ext.getCmp('replace_unit_ruleId').setText(detail_id);// 规则明细ID
		Ext.getCmp('replace_unit_scopeFlag').setValue(scope_flag.toString());// 有效范围
		Ext.getCmp('replace_unit_scopeFlag').disable();//设置有效范围不可用
		Ext.getCmp('replace_unit_custCode').setValue(cust_code);// 客户Code
		Ext.getCmp('replace_unit_custCode').disable();//客户Code不可用
		Ext.getCmp('replace_unit_custName_chn').setValue(cust_name_chn);// 客户名称
		Ext.getCmp('replace_unit_custName_chn').disable();//设置客户名称不可用
		Ext.getCmp('replace_unit_remarks').setValue(remark);// 备注
		
		// 设置条件区域信息------------------------------
		Share.AjaxRequest({
			url : ctx + '/getRuleConditions', 
			params : {
				rule_id : rule_id
			}, 
			callback : function(json) {
				for (var i = 0; i < (json.length) / 3 - 1; i++) {
					Ext.getCmp('replaceUnit_condition_add').handler();
				}
				for (var i = 0, j = 0; i < json.length; i++, j++) {
					Ext.getCmp('replace_unit_mainCondition' + (j + 1)).setValue(json[i]);
					Ext.getCmp('relace_unit_conditionChoice' + (j + 1)).setValue(json[i + 1]);
					Ext.getCmp('replace_unit_conditionValue' + (j + 1)).setValue(json[i + 2]);
					i = i + 2;
				}
			}
		});
		if(Ext.getCmp('replace_unit_scopeFlag').getValue() != '2'){
		// 获取后处理区域信息------------------------------
			Share.AjaxRequest({
				url : ctx + '/getReplaceUnit', 
				params : {
					rule_id : rule_id
				}, 
				callback : function(json) {
					// 替换前单位
					Ext.getCmp('replace_unit_before').setValue(json[0].UNIT_BEFORE);
					// 替换率
					Ext.getCmp('replace_unit_rate').setValue(json[0].REPLACE_RATE);
					// 替换后单位
					Ext.getCmp('replace_unit_after').setValue(json[0].UNIT_AFTER);
				}
			});
		}
		// 显示修改窗口
		Share.showWindow(t, true);
	}
	// 替换规格规则修改页面
	else if (type == RULE_TYPE_REPLACE_TYPE ) {
		// 建立窗口
		var t = Ext.create('widget.replaceTypeWin');
		// 设置主信息区域信息------------------------------
		Ext.getCmp('replace_type_hiddenFieldValue').setValue(rule_id); // 规则ID
		Ext.getCmp('replace_type_ruleId').setText(detail_id); // 规则明细ID
		Ext.getCmp('replace_type_scopeFlag').setValue(scope_flag.toString()); // 有效范围
		Ext.getCmp('replace_type_scopeFlag').disable();// 设置有效范围不可用
		Ext.getCmp('replace_type_custCode').setValue(cust_code); // 客户Code
		Ext.getCmp('replace_type_custCode').disable();//设置客户Code不可用
		Ext.getCmp('replace_type_custName_chn').setValue(cust_name_chn); // 客户名称
		Ext.getCmp('replace_type_custName_chn').disable();//设置客户名称不用
		Ext.getCmp('replace_type_remarks').setValue(remark); // 备注
		
		// 设置条件区域信息------------------------------
		Share.AjaxRequest({
			url : ctx + '/getRuleConditions', 
			params : {
				rule_id : rule_id
			}, 
			callback : function(json) {
				for (var i = 0; i < (json.length) / 3 - 1; i++) {
					Ext.getCmp('replaceType_condition_add').handler();
				}
				for (var i = 0, j = 0; i < json.length; i++, j++) {
					Ext.getCmp('replace_type_mainCondition' + (j + 1)).setValue(json[i]);
					Ext.getCmp('relace_type_conditionChoice' + (j + 1)).setValue(json[i + 1]);
					Ext.getCmp('replace_type_conditionValue' + (j + 1)).setValue(json[i + 2]);
					i = i + 2;
				}
			}
		});
		if(Ext.getCmp('replace_type_scopeFlag').getValue() != '2'){
			// 获取后处理区域信息------------------------------
			Share.AjaxRequest({
				url : ctx + '/getReplaceRule', 
				params : {
					rule_id : rule_id
				}, 
				callback : function(json) {
					Ext.getCmp('replace_type_finalValue').setValue(json[0].REPLACE_TEXT);
				}
			});
		}
		// 显示修改窗口
		Share.showWindow(t, true);
	}
	// 自定义摘要规则修改页面
	else if (type == RULE_TYPE_ABSTRACT ) {
		// 建立窗口
		var t = Ext.create('widget.abstractWin');
		// 设置主信息区域信息------------------------------
		Ext.getCmp('abstract_rule_id').setValue(rule_id); // 规则ID
		Ext.getCmp('ruleID').setText(detail_id); // 规则明细ID
		Ext.getCmp('abstract_scopeFlag').setValue(scope_flag.toString()); // 有效范围
		Ext.getCmp('abstract_scopeFlag').disable();//设置有效范围不可用
		Ext.getCmp('customer_id').setValue(cust_code); // 客户Code
		Ext.getCmp('customer_id').disable();//设置客户Code不可用
		Ext.getCmp('customer_name_chn').setValue(cust_name_chn); // 客户名称
		Ext.getCmp('customer_name_chn').disable();//设置客户名称不可用
		Ext.getCmp('remarkField').setValue(remark); // 备注
		
		// 设置条件区域信息------------------------------
		// 获得条件信息
		Share.AjaxRequest({
			url : ctx + '/getRuleConditions',  // FileUploadController.java
			showMsg : false, 
			params : {
	        	rule_id : rule_id
			}, 
	       callback : function(json) {
	        	for (var i = 0; i < (json.length) / 3 - 1; i++){
	        		Ext.getCmp('abstract_condition_add').handler();
	        	}
	        	for (var i = 0, j = 0; i < json.length; i++, j++){
	        		Ext.getCmp('condition_project' + (j + 1)).setValue(json[i]);
	 		        Ext.getCmp('condition_choice' + (j + 1)).setValue(json[i + 1]);
	 		        Ext.getCmp('condition_value' + (j + 1)).setValue(json[i + 2]);
	 		        i = i + 2;
	        	}
	        }
		}); 
		// 获取后处理区域信息------------------------------
		Share.AjaxRequest({
		   	url : ctx + '/getAbstractInfo',  // FileUploadController.java
		   	showMsg : false, 
		   	params : {
		   		rule_id : rule_id
		   	}, 
		   	callback : function(json) {
		   		for (var i = 0; i < (json.length) / 7 - 1; i++){
		   			Ext.getCmp('abstract_info_add').handler();
	        	}
	        	for (var i = 0, j = 0; i < json.length; i++, j++) {
	        		Ext.getCmp('abstract_info_condition' + (j + 1)).setValue(json[i]);
	        		if (json[i + 1] == 0){
	        			Ext.getCmp('radio1' + (j + 1)).setValue('0'); 
	        		}
	        	    if (json[i + 1] == 1){
	        	    	Ext.getCmp('radio2' + (j + 1)).setValue('1');
	        	    }
	        	    if (json[i + 1] == 2){
	        	    	Ext.getCmp('radio3' + (j + 1)).setValue('2'); 
	        	    }
	        	    if (json[i + 2] == null || json[i + 2].trim() == '') {
	        	    	Ext.getCmp('radio1_control1' + (j + 1)).setValue('0');
	        	    } else {
	        	    	Ext.getCmp('radio1_control1' + (j + 1)).setValue(json[i + 2]);
	        	    }
	        	    if (json[i + 3] == 0){
	        	    	Ext.getCmp('radio1_control2' + (j + 1)).setValue('');
	        	    } else {
	        	    	Ext.getCmp('radio1_control2' + (j + 1)).setValue(json[i + 3]);
	        	    }
	        	    Ext.getCmp('radio2_control1' + (j + 1)).setValue(json[i + 4]);
			        if (json[i + 5] == null || json[i + 5].trim() == '') {
			        	Ext.getCmp('radio2_control2' + (j + 1)).setValue('0');
			        } else {
			        	Ext.getCmp('radio2_control2' + (j + 1)).setValue(json[i + 5]);
			        }
			        Ext.getCmp('radio3_control2' + (j + 1)).setValue(json[i + 6]);
			        i = i + 6;
	        	}
	        }
		});
		
		// 显示修改窗口
		Share.showWindow(t, true);   
	} 
	// 自定义备注规则修改页面
	else if (type == RULE_TYPE_REMARK ) {
		// 建立窗口
		var t = Ext.create('widget.remarkWin');
		
		// 设置主信息区域信息------------------------------
		Ext.getCmp('remark_hiddenFieldValue').setValue(rule_id);// 规则ID
		Ext.getCmp('remark_ruleID').setText(detail_id);// 规则明细ID
		Ext.getCmp('remark_scopeFlag').setValue(scope_flag.toString());// 有效范围
		Ext.getCmp('remark_scopeFlag').disable();//设置有效范围不可用
		Ext.getCmp('remark_custCode').setValue(cust_code);// 客户Code
		Ext.getCmp('remark_custCode').disable(); //设置客户Code不可用
		Ext.getCmp('remark_custName_chn').setValue(cust_name_chn);// 客户名称
		Ext.getCmp('remark_custName_chn').disable();// 设置客户名称不可用
		Ext.getCmp('remark_value').setValue(remark);// 备注
		
		// 设置条件区域信息------------------------------
		// 获得条件信息
		Share.AjaxRequest({
	 	   url : ctx + '/getRuleConditions',  // FileUploadController.java
	 	   showMsg : false, 
	       params : {
	      	   rule_id : rule_id
	       }, 
	       callback : function(json) {
	        	for (var i=0;i<(json.length)/3-1;i++) {
	        		Ext.getCmp('remark_condition_add').handler();
	        	}
	        	for (var i=0, j=0;i<json.length;i++, j++) {
            		Ext.getCmp('condition_project'+(j+1)).setValue(json[i]);
     		        Ext.getCmp('condition_choice'+(j+1)).setValue(json[i+1]);
     		        Ext.getCmp('condition_value'+(j+1)).setValue(json[i+2]);
     		        i=i+2;
            	}
	        }
	 	});
		
		// 获取后处理区域信息------------------------------
		Share.AjaxRequest({
	 	  	url : ctx + '/getAbstractInfo',  // FileUploadController.java
	 	   	showMsg : false, 
	 	   	params : {
	 	   		rule_id:rule_id
	 	   	}, 
	 	   	callback : function(json) {
	           	for (var i = 0; i < (json.length) / 7 - 1; i++) {
	           		Ext.getCmp('remark_info_add').handler();
	           	}
	           	for (var i = 0, j = 0; i < json.length; i++, j++) {
	           		Ext.getCmp('remark_info_condition' + (j + 1)).setValue(json[i]);
	           		if (json[i + 1] == 0) {
	           			Ext.getCmp('radio1' + (j + 1)).setValue('0');
	           		}
	           	    if (json[i + 1] == 1) {
	           	    	Ext.getCmp('radio2' + (j + 1)).setValue('1');
	           	    }
	           	    if (json[i + 1] == 2) {
	           	    	Ext.getCmp('radio3' + (j + 1)).setValue('2');
	           	    }
	           	    if (json[i + 2] == null || json[i + 2].trim() == '') {
	           	    	Ext.getCmp('radio1_control1' + (j + 1)).setValue('0');
	                } else {
	           	    	Ext.getCmp('radio1_control1' + (j + 1)).setValue(json[i + 2]);
	           	    }
	           	    if (json[i + 3] == 0) {
	     	        	Ext.getCmp('radio1_control2' + (j + 1)).setValue('');
	           	    } else {
	           	    	Ext.getCmp('radio1_control2' + (j + 1)).setValue(json[i + 3]);
	    	        }
	           	    Ext.getCmp('radio2_control1' + (j + 1)).setValue(json[i + 4]);
	    	        if (json[i + 5] == null || json[i + 5].trim() == ''){
	    	        	Ext.getCmp('radio2_control2' + (j + 1)).setValue('0');
	    	        } else {
	    	        	Ext.getCmp('radio2_control2' + (j + 1)).setValue(json[i + 5]);
	    	        }
	    	        Ext.getCmp('radio3_control2' + (j + 1)).setValue(json[i + 6]);
	     	        i = i + 6;
	           	}
	        }
		});
		
		// 显示修改窗口
		Share.showWindow(t, true);
	} 
	// 单据状态规则修改页面
	else if (type == RULE_TYPE_DOCUMENT_CONSERVATION ) {
		// 建立窗口
		var t = Ext.create('widget.documentConservationWin');
		
		// 设置主信息区域信息------------------------------
		Ext.getCmp('doc_ruleHidden_id').setValue(rule_id); // 规则ID
		Ext.getCmp('doc_ruleID').setText(detail_id); // 规则明细ID
		Ext.getCmp('doc_scopeFlag').setValue(scope_flag.toString()); // 有效范围
		Ext.getCmp('doc_scopeFlag').disable();//设置有效范围不可用
		Ext.getCmp('doc_customer_code').setValue(cust_code); // 客户Code
		Ext.getCmp('doc_customer_code').disable();//设置客户Code不可用
		Ext.getCmp('doc_customer_name_chn').setValue(cust_name_chn); // 客户名称
		Ext.getCmp('doc_customer_name_chn').disable();//设置客户名称不可用
		Ext.getCmp('doc_remark').setValue(remark); // 备注
		
		// 设置条件区域信息------------------------------
	    Share.AjaxRequest({
			url : ctx + '/getRuleConditions', 
			params : {
				rule_id : rule_id
			}, 
			callback : function(json) {
				for (var i = 0; i < (json.length) / 3 - 1; i++) {
        		   Ext.getCmp('documentConservation_condition_add').handler();
        		}
				for (var i = 0, j = 0; i < json.length; i++, j++) {
	        		Ext.getCmp('doc_condition_project' + (j + 1)).setValue(json[i]);
	 		        Ext.getCmp('doc_condition_choice' + (j + 1)).setValue(json[i + 1]);
	 		        Ext.getCmp('doc_condition_value' + (j + 1)).setValue(json[i + 2]);
	 		        i = i + 2;
				}
			}
		});
	    
	    
	    // 设置单据状态区域信息------------------------------
	    Share.AjaxRequest({
			url : ctx + '/getDocType', 
			params : {
				rule_id : rule_id
			}, 
			callback : function(json) {
				Ext.getCmp('doc_keep').setValue(json.LOCK_FLAG==1?true:false); // 是否保持
				Ext.getCmp('doc_type').setValue(json.DOC_STATUS.toString()); // 单据状态
			}
		});
	    // 显示修改窗口
	    Share.showWindow(t, true);
	}
	else {
		Share.ShowMessage("I0050");
	}
}


/*******************************
* @param 获取规则后处理区域的值
* @param ruleId：规则ID
* @param winName：当前窗口名称
*******************************/
function getAdjustAfterRule(ruleId, winName) {
	Share.AjaxRequest({
		url : ctx + '/getAdjustAfterRule', 
		showMsg : false, 
	    params : {
	    	ruleId : ruleId
	    }, 
	    callback : function(json) {
	    	for (var i = 0 ;i < json.length; i++) {
	    		if (json[i].ADJUST_COLUMN == 'D_QUANTITY') {// 数量
	    			Ext.getCmp(winName + '_combo01').setValue(json[i].ADJUST_TYPE);
	    			if (json[i].ADJUST_TYPE == '07') {
	    				Ext.getCmp(winName + '_text01').setDisabled(false);
	    				Ext.getCmp(winName + '_text01').setValue(json[i].FIXED_TEXT);
	    			}
	    		}
	    		if (json[i].ADJUST_COLUMN == 'D_PRICE_CUR') {// 单价
	    			Ext.getCmp(winName + '_combo02').setValue(json[i].ADJUST_TYPE);
	    			if (json[i].ADJUST_TYPE == '07') {
	    				Ext.getCmp(winName + '_text02').setDisabled(false);
	    				Ext.getCmp(winName + '_text02').setValue(json[i].FIXED_TEXT);
	    			}
	    		}
	    		if (json[i].ADJUST_COLUMN == 'D_GOODS_NAME') {// 商品名
	    			Ext.getCmp(winName + '_combo03').setValue(json[i].ADJUST_TYPE);
	    			if (json[i].ADJUST_TYPE == '07') {
	    				Ext.getCmp(winName + '_text03').setValue(json[i].FIXED_TEXT);
	    			}
	    		}
	    		if (json[i].ADJUST_COLUMN == 'D_SPEC') {// 规格
	    			Ext.getCmp(winName + '_combo04').setValue(json[i].ADJUST_TYPE);
	    			if (json[i].ADJUST_TYPE == '07') {
	    				Ext.getCmp(winName + '_text04').setValue(json[i].FIXED_TEXT);
	    			}
	    		}
	    		if (json[i].ADJUST_COLUMN == 'D_GOODS_UNIT') {// 单位
	    			Ext.getCmp(winName + '_combo05').setValue(json[i].ADJUST_TYPE);
	    			if (json[i].ADJUST_TYPE == '07') {
	    				Ext.getCmp(winName + '_text05').setValue(json[i].FIXED_TEXT);
	    			}
	    		}
	    		if (json[i].ADJUST_COLUMN == 'H_REMARK') {// 备注
	    			Ext.getCmp(winName + '_combo06').setValue(json[i].ADJUST_TYPE);
	    			if (json[i].ADJUST_TYPE == '07') {
	    				Ext.getCmp(winName + '_text06').setValue(json[i].FIXED_TEXT);
	    			}
	    		}
	    		if (json[i].ADJUST_COLUMN == 'D_REMARK') {// 摘要
	    			Ext.getCmp(winName + '_combo07').setValue(json[i].ADJUST_TYPE);
	    			if (json[i].ADJUST_TYPE == '07') {
	    				Ext.getCmp(winName + '_text07').setValue(json[i].FIXED_TEXT);
	    			}
	    		}
	    	}
	    }
	});
}

/*******************************
 * 窗口中删除按钮的共通方法
 * @param ruleId：规则ID
 * @param winName：当前窗口名称
 * @param ruleType：规则类型
*******************************/
function deleteRules(ruleId, winName, ruleType) {
	var tabpanelId = 'tab-set-rule';
	var tab = Ext.getCmp(tabpanelId);
	if (tab == undefined) {
	    return;
	}
	var Id_Rule = Ext.getCmp(ruleId).getValue();
	var deleteRuleId = Ext.getCmp(ruleId).getValue();
	Ext.MessageBox.confirm(Share.T('提示'), Share.T('确定删除吗？'), function(btn) {
		if (btn == 'yes') {
			Share.AjaxRequest({
				url: ctx + "/deleteRuleList", 
				params : {
					id : Id_Rule, 
					deleteRuleId : deleteRuleId, 
					deleteRuleType : ruleType
				}, 
				showMsg : false, 
				scope : this, 
				callback : function (json) {
					Share.ShowMessage("I0006","删除");
					Ext.getCmp(winName).close();
					tab.getStore().reload();
					if (tab.getStore().getCount() == 1) {
						tab.getStore().removeAll();
					}
				}
			});
		}
	});
}

function getLockStatus(){
	var lockStatus = true;
	Ext.Ajax.request({
		url: ctx + "/getLockStatus",
		async : false,
        success : function(response, options) {
        	var json = Ext.decode(response.responseText);
        	
        	if (json.resultCode == 0) {
        		lockStatus = false;
        	} else {
        		lockStatus = true;
        	}
        }
	});
	return lockStatus;
}
